git: a tool for wizards

Post on 21-Oct-2014

251 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Chris gives a great overview of git with a demos including comparisons to other CVS and some tricks at the end

TRANSCRIPT

git: a tool for wizards

Chris Mangus, MyLife.com[1]

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

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

So, what is git anyway?

git is a distributed version control system, that is open source and made with speed in mind

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]

Git and the competitionAnd by competition I mean

SVN and Mercurial

● 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

Git vs SVN

Data Representation is different as well

SVN

Git

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]

One last big benefit of Git...

You get to use Github.com!

Cool projects on Github

Node.jsjQuerythe Linux KernelRuby on Railsand many many more...

Basic Git Mechanics~live demo~

Rebase is neat?

[5]

Now you can use git by yourself but lets work

with others

Git Workflows

● SVN style● Integration Manager style● and many many more...

SVN Style

Integration Manager style

There are tools for that

So you think the command line is scary?

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

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

Now its time for some tricks?

git diff --name-status master..branchfinds the differences between two named

branches

git log --pretty=onelinegives one line log history that looks great

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 hashlets you create and switch to a new branch

with the HEAD placed at the commit referenced by the hash

Links for more knowledge

http://git-scm.com/

http://github.com

Quick link to the free git bookhttp://git-scm.com/book

Sources[1]http://postsurf.com/wp-content/uploads/2009/04/artist-unknown-wizard.jpg[2]http://commons.wikimedia.org/wiki/File:Tux.svg[3]http://uploads.neatorama.com/wp-content/uploads/2010/06/macgyver.jpg[4]http://booksdvdsforboys.com/wp-content/uploads/2013/05/bond-brosnan-martini.jpg[5]http://talks.chastell.net/rubyconf-2011/file/me-me-me/git-rebase.pngAll the rest are from the Git book, www.git-scm.com/book

top related