Git is a version control system that allows developers to track changes to files over time. It provides benefits like being able to save older versions of files, review past changes, and revert to older versions. Git is a distributed version control system that is open source and designed for speed. It was created by Linus Torvalds to keep up with development of the Linux kernel. Git has advantages over other version control systems like Subversion (SVN) in being able to work offline and having faster performance and easier branching workflows. Basic Git commands and workflows can be used through the command line or graphical tools like Git GUI and SourceTree.
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Git: a tool for wizards
1. git: a tool for wizards
Chris Mangus, MyLife.com
[1]
2. git is a version control system
What is Version Control?
Version control is a system that records
changes to a file or set of files over time so that
you can recall specific versions later
3. Why would you need version
control?
● To save older versions of a file
● To review past changes
● To insure against mistakes
● To revert to older versions
● To maintain a history
● To put a name to who changed what
4.
5.
6. So, what is git anyway?
git is a distributed version control
system, that is open source and made
with speed in mind
7.
8. Quick git History
■ Linus Torvalds was using a DVCS named
BitKeeper, but then BitKeeper withdrew the
free version of its product
■ This inspired Linus to create his own DVCS
to keep up with the demands of thousands of
people working on the Linux kernel
[2]
9. Git and the competition
And by competition I mean
SVN and Mercurial
10. ● Online vs Offline
○ No need to get on the company VPN if you only
have to local work. Since git is a full repository
locally, you don’t need a network connection to use
source control
● Speed
● Branching
● Ease of Use
Git vs SVN
13. Git vs Mercurial (Hg)
● Ease of Use
● Flexibility
“Git is MacGyver, and Mercurial is James
Bond”
http://importantshock.wordpress.com/2008/08/07/git-vs-mercurial/
[4][3]
14. One last big benefit of Git...
You get to use Github.com!
15. Cool projects on Github
Node.js
jQuery
the Linux Kernel
Ruby on Rails
and many many more...
22. There are tools for that
So you think the
command line is scary?
23. One of the quickest ways to get a GUI with git,
is to just type in git gui into your console.
It will pop up a basic GTK GUI to do most
things with Git
Git GUI
24.
25. SourceTree
SourceTree is a fantastic full featured GUI
client for Git
It surfaces all the major git commands as large
buttons so that there is no effort to use Git on a
day to day basis.
It also gives great visuals on the history of a Git
repository to help find that pesky commit you
are looking for
26.
27. Now its time for some tricks?
git diff --name-status master..branch
finds the differences between two named
branches
git log --pretty=oneline
gives one line log history that looks great
28. Tricks continued
git stash - will save all uncommited changes
into the git local repository. you can git stash
pop to get these changes back at any time.
git checkout -b branchname hash
lets you create and switch to a new branch
with the HEAD placed at the commit referenced
by the hash
29. Links for more knowledge
http://git-scm.com/
http://github.com
Quick link to the free git book
http://git-scm.com/book