Upload
botsplashcom
View
35
Download
0
Embed Size (px)
Citation preview
Git & Open Source Collaboration
Chatlotte Bots & AI
Basics
• What is Git and Github• Other alternatives: SVN & Mercurial• Differences: Local, Decentralized and Online
publicizing• Development Workflows– Branch & Merge– Git flow– Pull Requests– DevOps integrations
Getting Started
• UI tools: Github, Source Tree, All• Command line: Mac xcode, Window SCM,
Linux Package Managers• Concepts– Local Repository– Branching & Merging– Push branch to online for collaboration– Fork and Pull requests
Command Line
• git init• git add, git diff, git commit• git push origin master, git pull, git fetch• git log• git branch, git checkout, git merge• git stash• git reset, git rm
Open Source
• Github.com defacto standard• Github Issues & Wiki for collaboration• Fork & submit Pull requests to work with
other developers• Why Open Source• Licensing Models
Pull Requests
Pull Request Steps
1. Create feature in local repo/dedicated branch.2. Push branch to Bitbucket/Github.3. Files pull request4. Team reviews the code, discusses it, and alters
it.5. Project maintainer merges the feature into the
official repository and closes the pull request.
https://www.atlassian.com/git/tutorials/making-a-pull-request
Git Flow
http://nvie.com/posts/a-successful-git-branching-model/
DevOps
• Issues and Smart Commits• Slack and chat notifications• Continuous Integration & Deployment• Infrastructure deployment with version
control• Jupyter Notebooks