Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
becki:linux:git [2010-07-22 15:17] becki created |
becki:linux:git [2025-01-08 10:11] (aktuell) becki |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Git Tips == | ====== Git Tips == | ||
| - | ===== Links == | + | ===== Getting Help == |
| + | git help | ||
| + | git help <command> | ||
| + | cat .git/config | ||
| + | |||
| + | https://www.kernel.org/pub/software/scm/git/docs/ | ||
| + | |||
| + | |||
| + | ===== Mercurial Command Comparison == | ||
| + | |||
| + | See https://www.rath.org/mercurial-for-git-users-and-vice-versa.html to understand the different concepts | ||
| + | See [[hg>wiki/GitConcepts|Mercurial <=> Git Command comparison]] | ||
| + | |||
| + | ^ hg ^ git ^ comment ^ | ||
| + | | hg backout | git revert | options my differ | | ||
| + | | hg branches | git branch [-a] | | | ||
| + | | hg commit -m 'msg' | git commit -a -m 'msg' | from trial / alternative: ''git add ...; git commit'' | | ||
| + | | hg diff -c -1 | ''git diff @{0}^!'' or ''git show @{0}'' | See diffs of last commit (tip) | | ||
| + | | hg diff -c -2 | ''git diff @{1}^!'' or ''git show @{1}'' | See diffs of penultimate commit | | ||
| + | | hg glog | git log --graph | | | ||
| + | | hg glog -v | git log --name-only | | | ||
| + | | hg init | git init | from trial | | ||
| + | | hg pull -u | git pull [url] | URL may be specified, otherwise remot tracking thing is used? | | ||
| + | | hg push | git push | See below | | ||
| + | | hg status; hg outgoing | git status | | | ||
| + | | hg uptdate ... | git checkout ... | | | ||
| + | |||
| + | ===== Push == | ||
| + | |||
| + | In order to push from repo S to reop T, T must not be on the branch you want to push to (typically master). Therefore create a dummy branch ''git checkout -b dummy'' on T. Now you can push to T/master from S | ||
| + | |||
| + | Alternatively you can turn T into a "bare" repo. | ||
| + | |||
| + | See also http://stackoverflow.com/questions/2816369 | ||
| + | |||
| + | ===== Clone == | ||
| + | |||
| + | Example: Using SSH from within the remote home dir | ||
| + | |||
| + | git clone ssh://[user@]host/~user/tmp/igit igitigit | ||
| + | | ||
| + | See ''git help clone'' (also for valid URL formats) | ||
| + | |||
| + | <note warning>The result of ''git clone <url>'' without specifying a branch name is dependent on which branch the source repo currently is!</note> | ||
| + | |||
| + | ===== Branches == | ||
| + | |||
| + | ''git branch'' shows existing local branches, while ''git branch -r'' causes the "remote-tracking" branches to be listed, and option -a shows both. See [[http://www.kernel.org/pub/software/scm/git/docs/git-branch.html|git-branch]] | ||
| + | |||
| + | With Git it is not possible to directly swich to a different branch on a cloned repository like in Mercurial. Instead first you have to create a new (local) branch wich "tracks" the specified remote brach, eg. (''origin/stable'') and then checkout (=update) this branch to your working directory. The following command does both steps at once: | ||
| + | |||
| + | git checkout -b stable origin/stable | ||
| + | |||
| + | Now you can pull all needed updates whenever a new release is made: | ||
| + | |||
| + | git pull | ||
| + | |||
| + | [[http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/|See also]] | ||
| + | |||
| + | ===== General Links == | ||
| + | |||
| + | * [[http://nfarina.com/post/9868516270/git-is-simpler|Probably good intro]] | ||
| * [[Mercurial Tips]] --- [[SVN Tips]] --- [[CVS Tips]] | * [[Mercurial Tips]] --- [[SVN Tips]] --- [[CVS Tips]] | ||
| - | * [[hg>wiki/GitConcepts|Mercurial <=> Git Command comparison]] | ||
| * [[http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html|man gittutorial]] | * [[http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html|man gittutorial]] | ||
| * [[http://www.kernel.org/pub/software/scm/git/docs/user-manual.html|Git User's Manual]] | * [[http://www.kernel.org/pub/software/scm/git/docs/user-manual.html|Git User's Manual]] | ||
| + | * [[http://steveko.wordpress.com/2012/02/24/10-things-i-hate-about-git/|10 things I hate about Git]] | ||
| + | * [[http://think-like-a-git.net/|Think Like (a) Git]] | ||
| + | |||