Git, Collaboration and Open Source

9
Git & Open Source Collaboration Chatlotte Bots & AI

Transcript of Git, Collaboration and Open Source

Page 1: Git, Collaboration and Open Source

Git & Open Source Collaboration

Chatlotte Bots & AI

Page 2: Git, Collaboration and Open Source

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

Page 3: Git, Collaboration and Open Source

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

Page 4: Git, Collaboration and Open Source

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

Page 5: Git, Collaboration and Open Source

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

Page 6: Git, Collaboration and Open Source

Pull Requests

Page 7: Git, Collaboration and Open Source

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

Page 8: Git, Collaboration and Open Source

Git Flow

http://nvie.com/posts/a-successful-git-branching-model/

Page 9: Git, Collaboration and Open Source

DevOps

• Issues and Smart Commits• Slack and chat notifications• Continuous Integration & Deployment• Infrastructure deployment with version

control• Jupyter Notebooks