A revised/minimized version of Nick Quaranto's (http://www.slideshare.net/qrush ) presentation on the same topic. This revised version was used to present Git to a group of students at ECPI who were not yet familiar with the concepts of version control or Git.
1 of 40
Downloaded 21 times
More Related Content
The Basics of Open Source Collaboration With Git and GitHub
2. whoami
President of BigBlueHat
a web manufacturing company
we build web stuff
We built BlueInk
a content management system
Building sites since the late 90's
I remember Netscape 3
3. Ve rs io n Co ntro l
c o uld s a v e y o ur
life .
4. Or a t le a s t y o ur
jo b/pro je c t/ide a /
s a nity /g pa
5. The Basics
Keep backup copies of files whenever
you want
Restore those copies quickly and easily
Share the files and the change s with other
developers
Integrate their changes into your files
15. What's changed?
git status
On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working
directory)
#
# modified: index.php
#
16. What's changed? (cont)
git diff
diff --git a/index.php b/index.php
index 9e7353c..1764d3e 100644
--- a/index.php
+++ b/index.php
@@ -24,4 +24,5 @@
require_once 'webroot'.DIRECTORY_SEPARATOR.'index.php';
-?>
No newline at end of file
+echo 'an example change';
+?>
17. Birds Eye View
git log
gitk
a graphical view of your repository
GitX
Mac OS X app for doing the above
also handy for commit review
prettier than gitk
20. Branching
Another great reason to use Version
Controlparticularly git
Your first idea is never your best idea
Branches give you the freedom to change
things...whenever
21. Branching (cont)
git branch experimental
creates a branch named 'experimental'
git branch
shows a list of branches:
git checkout experimental
switch to the new branch
22. The Staging Area (cont)
All that happened in the same directory
sort of...
Your version histories actually in the .git
folder
so, when you checkout a branch git
changes all the files outside of .git to
match that branches content
git it?
23. Put it back together again
git checkout master
git merge experimental
if all went well, then your done
if not:
git mergetool
git commit -a
38. Other Hosting Options
Public Only Public and Private
repo.or.cz GitHub.com
Gitorious.org CodaSet.com
Private Only
Unfuddle.com
codebasehq.com
39. How to Contribute
1. Fork a repository at GitHub
2. Clone and connect your local repository
3. Write tests, implement functionality
4. Commit your local changes
5. Push your changes to your fork
6. Make a pull request
7. Profit!!
40. git log
Kudos to Sc o tt Cha c o n who made
http://git-scm.com
http://whygitisbetterthanx.com
And to Mic ha e l Ha rtl
for Building the Insoshi Social Network
Wikipedia too.
nick@quaran.to byoung@bigbluehat.com
http://litanyagainstfear.com http://bigbluehat.com