GIT Cheat Sheet

From Tmplab

(Difference between revisions)
Jump to: navigation, search
(Committing changes)
Current revision (19:03, 14 December 2010) (edit) (undo)
 
(2 intermediate revisions not shown.)
Line 11: Line 11:
== Committing changes ==
== Committing changes ==
git commit -m <message>
git commit -m <message>
 +
 +
or
git commit -m <message> FILE1 FILE2 FILE3 ... DIR1 DIR2 ...
git commit -m <message> FILE1 FILE2 FILE3 ... DIR1 DIR2 ...
 +
 +
or to commit all that needs:
 +
 +
git commit -m <message> -a
== Seeing changes ==
== Seeing changes ==
Line 39: Line 45:
= Remote commands =
= Remote commands =
-
== Creating an empty project on a remote machine ==
+
== Creating an empty project on a remote machine (DH) ==
For first import into a GIT server for example:
For first import into a GIT server for example:
Line 64: Line 70:
remote = origin
remote = origin
merge = refs/heads/master
merge = refs/heads/master
- 
== Push your developer commits to server ==
== Push your developer commits to server ==
Line 81: Line 86:
git clone ssh://[<user@>]yourcheaphost.com/git/yourproject.git
git clone ssh://[<user@>]yourcheaphost.com/git/yourproject.git
- 
-
= References =
 
-
* Good guide: http://www.sourcemage.org/Git_Guide
 
-
* Another good one: http://toolmantim.com/article/2007/12/5/setting_up_a_new_rails_app_with_git
 
-
* Cmds vs. SVN: http://git.or.cz/course/svn.html
 
-
* 10 Good Examples: http://www.kernel.org/pub/software/scm/git/docs/everyday.html
 
-
* Good FAQ: http://git.or.cz/gitwiki/GitFaq
 
-
* Good cheat sheet http://cheat.errtheblog.com/s/git
 
= Troubleshooting =
= Troubleshooting =
Line 106: Line 103:
Link: http://rwmj.wordpress.com/2009/03/06/git-fatal-no-matching-remote-head/
Link: http://rwmj.wordpress.com/2009/03/06/git-fatal-no-matching-remote-head/
 +
 +
= References =
 +
* Good guide: http://www.sourcemage.org/Git_Guide
 +
* Another good one: http://toolmantim.com/article/2007/12/5/setting_up_a_new_rails_app_with_git
 +
* Cmds vs. SVN: http://git.or.cz/course/svn.html
 +
* 10 Good Examples: http://www.kernel.org/pub/software/scm/git/docs/everyday.html
 +
* Good FAQ: http://git.or.cz/gitwiki/GitFaq
 +
* Good cheat sheet http://cheat.errtheblog.com/s/git

Current revision

Contents

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>

or

git commit -m <message> FILE1 FILE2 FILE3 ... DIR1 DIR2 ...

or to commit all that needs:

git commit -m <message> -a

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 (DH)

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

Troubleshooting

git “fatal: no matching remote head”

Cause: cannot fetch/clone remote empty GIT repo

mkdir autobuildrequires
cd autobuildrequires
git init
touch README
git add README
git commit -a -m "First commit."

Link: http://rwmj.wordpress.com/2009/03/06/git-fatal-no-matching-remote-head/

References

Personal tools