version control with git - cccmz e.v. · what we're not talking about conceived by linus...
TRANSCRIPT
![Page 1: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/1.jpg)
Version Control with Git
Claudius Coenen License: CC-BY-4.0
![Page 2: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/2.jpg)
What We're Not Talking About
● Conceived by Linus Torvalds around 2005● Distributed Version Control vs. Central Version
Control● Why git is better than <insert favourite vcs>● Extended Team Workflows● Internal Workings
![Page 3: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/3.jpg)
Why Version Control?
welcome.html
![Page 4: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/4.jpg)
Why Version Control?
welcome.html
welcome_final.html
welcome_final2.html
welcome_final2-bernd.htmlwelcome2.html
welcome_2.html
welcome_final2.html
welcome_2.html
welcome.html
welcome_final.html
welcome_final2-bernd.html
welcome2.html
● So, what is the newest version of this file?● Who changed the title?● Yesterday, it was working just fine.● Did you get my mail?● Who's working on XYZ?● Is this bugfix already included somewhere?● Who is working on this project, anyway?
![Page 5: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/5.jpg)
What is Version Control?
NOT Version Control● Emailing files● Central FTP /
Fileshare● Periodical Backup of
your project directory● Dropbox
„Better than nothing“Award in silver
Version Control● CVS (old)● SVN● Mercurial● Bazaar● Bitkeeper● Git● ...
„Better than nothing“Award in bronze
![Page 6: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/6.jpg)
Safe-Keeping of Versions
● When you check something into version control, it will remember this exact version for you
● You can return to a previous version● You get a fancy timeline of your project
Toda
y
Yeste
rday
, 10:
04
10.1
0.20
12 1
4:12
06.0
3.20
12 1
4:10
![Page 7: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/7.jpg)
Access Control
● Usually on a per-project basis● Who can read and/or write a „repository“
![Page 8: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/8.jpg)
Conflict Resolution
● Files edited by different people can usually be resolved automatically.
welcome.html(Alice)
welcome.html(Bob)
welcome.html(Both changes)
![Page 9: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/9.jpg)
The „Commit“
● An item in the history● Think of this as a snapshot of your project
commit f303d887ebf263b466958ca7c83aebb9385936f0
Author: Claudius Coenen <[email protected]>
Date: Sat Feb 15 02:08:44 2014 +0100
Ticket #2342: fixing file upload to work with animated gif
Commit-Hash
Commit-Message
![Page 10: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/10.jpg)
Full Workflow
● DO STUFFchange files the way you normally would
● PREPAREgit add the changes, so git knows about them
● COMMITgit commit, preferably with a nice message
think: committing to memoryor: committment
git pull
git push
![Page 11: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/11.jpg)
Branching/MergingAnd The History
![Page 12: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/12.jpg)
Branching/MergingAnd The History
#§%$!~??Appropriate use ofComic Sans!
![Page 13: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/13.jpg)
Branching/MergingAnd The History
MergeBranch starts here
Usually no problem
![Page 14: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/14.jpg)
Git Command Line Interface
![Page 15: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/15.jpg)
Github App
![Page 16: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/16.jpg)
Atlassian SourceTree
![Page 17: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/17.jpg)
References
![Page 18: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/18.jpg)
Command Cheat Sheet(Infrequent Commands)
● git config --global user.name “Jane Doe“● git config --global user.email “[email protected]“● git config --global color.ui true● git config --system core.editor <editor>
● git init (creates a new repository)● git clone <repository url> („clones“ existing)
![Page 19: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/19.jpg)
Command Cheat Sheet(Frequent Commands)
● git status● git log● git add● git commit● git checkout● git reset
These Commands
are Local!
(what's up on my drive)
(what happened so far)
(prepare these files for commit)
(commit the added files)
(return to a previous version)
(reset the git index)
![Page 20: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/20.jpg)
Command Cheat Sheet(Used often)
● git fetch● git pull● git push
(just download)
(download AND merge)
(send my changes out)
These Commands
go over the network*
*) simplification
![Page 21: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/21.jpg)
Where to Start
● Baby steps in your browser– http://try.github.io
● Download git for your system– http://git-scm.com/downloads
● Maybe add a Git client that suits your taste– At least try the commandline. Git in its purest form.– gitk, GitHub-App, SourceTree, GitTower, TortoiseGit
● Integrate git into your IDE / Editor– Eclipse, Sublime, WebStorm, RubyMine, NetBeans
![Page 22: Version Control with Git - CCCMZ e.V. · What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better](https://reader030.vdocument.in/reader030/viewer/2022040917/5e91f94faafbfb28c27c4424/html5/thumbnails/22.jpg)
Hand-Picked Resources
● Git has extensive documentation– http://git-scm.com/documentation
● There's a lot of Tutorials out there– http://marklodato.github.io/visual-git-guide/index-en.html – https://www.kernel.org/pub//software/scm/git/docs/everyday.html
– http://www.teehanlax.com/blog/github-fundamentals/– http://mislav.uniqpath.com/2010/07/git-tips/– http://nvie.com/posts/a-successful-git-branching-model/
● In-Depth Info– http://git-scm.com/book
● Cannon fodder for lengthy debates with your fellow geek– http://thkoch2001.github.io/whygitisbetter/