2. Caution!!
• Note that this is not a step-by-step tutorial
• Contains only some concepts and illustrations
3. Resource
• Books
– Progit
• Online book written by Scott Chacon
– The Git Community Book
• maintained by Scott Chacon
• Interface Tools
– http://git-scm.com/tools
• TortoiseGit (Windows)
– TortoiseGit is a port of the popular TortoiseSVN project to Git.
4. Pro git http://progit.org/book/
• 1. Getting Started
– 1.1 - About Version Control
– 1.2 - A Short History of Git
– 1.3 - Git Basics
– 1.4 - Installing Git
– 1.5 - First-Time Git Setup
– 1.6 - Getting Help
– 1.7 - Summary
• 2. Git Basics
– 2.1 - Getting a Git Repository
– 2.2 - Recording Changes to the Repository
– 2.3 - Viewing the Commit History
– 2.4 - Option Description of Output
– 2.5 - %s Subject
– 2.6 - Option Description
– 2.7 - Option Description
– 2.8 - Undoing Things
– 2.9 - Working with Remotes
– 2.10 - Tagging
– 2.11 - Tips and Tricks
– 2.12 - Summary
5. Git Basics
• Chapter 2
• Git Basics
• If you can read only one chapter to get going with Git, this
is it.
– 2.1 - Getting a Git Repository git init, git clone
– 2.2 - Recording Changes to the Repository git status, git add, git commit
– 2.3 - Viewing the Commit History git log,
– 2.4 - Option Description of Output
– 2.5 - %s Subject
– 2.6 - Option Description
– 2.7 - Option Description
– 2.8 - Undoing Things git reset
– 2.9 - Working with Remotes git remote, git fetch, git push
– 2.10 - Tagging git tag, git show,
– 2.11 - Tips and Tricks git ….
– 2.12 - Summary
13. What is the difference
between a tag and a branch in
git?
• From the theoretical point of view:
– tags are symbolic names for a given revision.
– branches are symbolic names for line of
development.
21. “Detached head” state
• Examining an old version without creating a
new branch
• it means the HEAD file points directly to a
commit, not to a symbolic reference.
22. “Detached head” state
it means the HEAD file points directly to a
commit, not to a symbolic reference.
23. “Detached head” state
Pros Cons
• easy way to check out a • The issue is that you
particular version without generally don’t want to
having to make up a name work in a detached head
for the new branch. environment, because it’s
• You can still create a new easy to lose changes.
branch (or tag) for this
version later if you decide to.
29. Remote
• open source software hosting facilities:
– http://en.wikipedia.org/wiki/Comparison_of_ope
n_source_software_hosting_facilities
• One of these
– GitHub
30. github
• SSH channel
– Get help with generating ssh keys
http://help.github.com/
33. git push
• Example in
http://www.kernel.org/pub/software/scm/git/
docs/git-push.html
• git push (remote) (branch):
– Example: git push origin my_branch
• you have to explicitly push the branches you
want to share.
34. git push
• you have to explicitly push the branches you
want to share.
– That way, you can use private branches for work
you don’t want to share, and push up only the
topic branches you want to collaborate on.