Difference between revisions of "GIT Cheat Sheet"

From Tmplab
(Seeing files inside repository)
(Branching)
Line 29: Line 29:
 
  git checkout <NEW_BRANCH_NAME>
 
  git checkout <NEW_BRANCH_NAME>
 
  git commit -a
 
  git commit -a
  git merge
+
git checkout master
 +
  git merge <NEW_BRANCH_NAME>
 +
 
 +
Diff between two branches
 +
git diff master..<NEW_BRANCH_NAME>
  
 
= Remote commands =
 
= Remote commands =

Revision as of 23:54, 16 March 2010

Basic commands (local)

Creating

git init

Adding files

git add <filename>

or to commit all files in current directory:

git add .

Committing changes

git commit -m <message>

Seeing changes

git log

Tagging

Adding a tag

git tag <tagname> -m "Comment about this tag"

Listing tags with comments

git tag -n

Seeing files inside repository

git ls-files
git ls-tree HEAD

Branching

git branch
git branch <NEW_BRANCH_NAME>
git checkout <NEW_BRANCH_NAME>
git commit -a
git checkout master
git merge <NEW_BRANCH_NAME>

Diff between two branches

git diff master..<NEW_BRANCH_NAME>

Remote commands

Creating an empty project on a remote machine

For first import into a GIT server for example:

ssh username@yourcheaphost.com
mkdir -p ~/git/yourproject.git
cd ~/git/yourproject.git
git --bare init

And then on the local machine:

mkdir yourproject
cd yourproject
git init
git remote add origin ssh://username@yourcheaphost.com/~/git/yourproject.git
touch .gitignore
git add .
git commit -m "Initial Commit" 
git push origin master

and add this to your .git/config in your project.

[branch "master"]
  remote = origin
  merge = refs/heads/master


Push your developer commits to server

git push origin master

Get a copy of a project

git clone gitservername:proj1 proj1

Update my local copy with the server's copy

git pull

Get server's copy from a new machine

git clone ssh://[<user@>]yourcheaphost.com/git/yourproject.git

References