Difference between revisions of "Git for dummies"

From FreekiWiki
Jump to navigation Jump to search
(git-commit -a)
(reverting changes)
Line 1: Line 1:
 +
==The basics==
 
===Setup===
 
===Setup===
  
Line 44: Line 45:
  
 
The -a tells git to commit "all"
 
The -a tells git to commit "all"
 +
 +
If you screw up changes to a file, and just want to put it back:
 +
  git checkout myfile
 +
 +
think of checkout (when used like this) as the git equivalent of "svn revert".
  
 
Now send your locally committed changes to the main repository:
 
Now send your locally committed changes to the main repository:

Revision as of 20:24, 15 November 2008

The basics

Setup

Set up your system:

 sudo apt-get install git-core
 git config --global user.email somebody@somewhere.tld
 git config --global user.name "John Doe"

Note that if you are using debian etch, you will need to get a backport of git from backports.org.

Getting the repo

Get a copy of the library project (assuming the central repository is on a server named dev.freegeek.org):

 git clone dev.freegeek.org:/git/library
 cd library/

Sort of like svn update:

 git pull

Like svn update (but if you have local commits):

 git fetch
 git rebase origin/master

(Master is like trunk is in svn.)

Making changes

Now edit a file

 vi TODO 

(See it's just like svn!!)

Now schedule this modification to be committed locally:

 git add TODO 

Want to see changes that you hain't yet git added?

 git diff

Want to see what you are about to commit?

 git diff --cached

Now commit it locally:

 git commit

Now, if you want to commit all of the changes you've made, but don't want to "git add" a million files, you can shorted it to this:

 git commit -a

The -a tells git to commit "all"

If you screw up changes to a file, and just want to put it back:

 git checkout myfile

think of checkout (when used like this) as the git equivalent of "svn revert".

Now send your locally committed changes to the main repository:

 git push


Git - SVN Crash Course