Presentation is loading. Please wait.

Presentation is loading. Please wait.

Collaborative Git An introduction to Git with others

Similar presentations


Presentation on theme: "Collaborative Git An introduction to Git with others"— Presentation transcript:

1 Collaborative Git An introduction to Git with others
Trever Fischer, Fedora Ambassador, KDE Hacker

2 Source Version Control
Manages source code across developers, allowing many people to hack at the same time. Two major systems at UA

3 Subversion Requires a central server and repository to keep everyone in sync Requires network access to perform diffs, commits, log viewing, etc Branches are super-hard and are really a bolt-on. Your checkout is just a copy of the files and enough data to commit later. Its familiar and easy.

4 Git Every developer has their own repository.
Your clone can exist independent of where you got it. A different workflow than SVN - yours. Slightly more effort, but lots more benefits.

5 Git compared to SVN Distributed Build a commit incrementally
Offline access Encourages many small changes Lets you have your own workflow Centralized Remember everything you need to commit Requires networking Devs tend to pile up changes into bigger commits

6 Distributed? Every git repository is independent of each other
If one dies, there are many more. No need for a centralized server Anyone can pick and choose which changes they want from where

7 Fragmentation Anarchy!
Without some authority, it is very easy for everyone to get out of sync.

8 Git Hosting Gives everyone a well-known place to refer to as “the authority”. A permanent, public home on the internet. You don't need to hunt down a dev to clone from their laptop. Lets everyone submit their changes to one place instead of to each dev individually.

9 Hosting Authentication
SVN Git HTTPS with Basic auth Ssh Anonymous checkouts Only ssh for pushing Anonymous checkouts

10 Init Workflow Push You ACM Add Commit Pull

11 Workflow You Other Developer ACM Add Commit Clone

12 Workflow Push You Other Developer ACM Add Add Commit Commit Pull

13 Alternate Workflows Big Commits Little Commits
All at once, or in pieces Private personal branches Swaths of changes, then dissection of commits Git-svn

14 More Developers Alpha's Server ACM C D A B E F

15 Branches Instant and super easy to use
Organizes bigger groups of commits in terms of features/fixes in progress Merging is easy and automated

16 Handling Conflicts If, during a merge, git can't figure it out, a conflict occurs. Like a head-on train collision, the developer must manually clean up the mess and generate the final result of the merge. Commit the result, move on with life.

17 Remote Branches Every repository can be considered a branch of every other repository Special 'origin' branch Cloning a repo automatically sets origin to...the origin. Push/Pull equates to a download then a merge

18 git-svn Its magic! Requires a complete download of all history since day zero. An offline copy of the SVN repository Two-way transfer of branches, tags, commits

19 Git-svn workflow SVN dcommit You Clone Add Lots of Time Commit

20 Summary Git lets you work alone, or in teams
You can fiddle with the source without internet It enables super easy sharing Adaptable to any workflow

21 Questions

22 Activity! Yay!


Download ppt "Collaborative Git An introduction to Git with others"

Similar presentations


Ads by Google