Git¶
Checkout¶
Master auschecken
$ git clone git@openslx.org:openslx/core.git [openslx]
(ssh-key sollte bereits geladen sein => ssh-add)
Anonym:
$ git clone git://git.openslx.org/openslx/core.git openslx
Setup¶
Benutzer "einrichten"
$ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com
(wenn die Einstellungen nur für ein Repository gelten soll, dann einfach das "--global" weglassen)
Standard Verhalten für das pushen festlegen
$ git config --global push.default matching
Local arbeiten¶
Dateien zur Versionskontrolle hinzufügen
$ git add <file/dir>
normalerweise reicht:
$ git add .
Änderung (local) commiten:
$ git commit
besser:
$ git commit -a
Änderungen hochladen¶
Änderungen vom Server laden:
$ git fetch
Änderungen vom Server mit Arbeitskopie mergen:
$ git merge master
(klappt normalerweise automatisch)
Für die letzten beiden Befehle gibt es auch einen Alias:
$ git pull
(erste Variante bietet einem jedoch die Möglichkeit erst einmal in Ruhe den diff anszuschaun :))
Änderungen an Server weitergeben:
$ git push
Branching¶
Neuen remote Branch erstellen (aus dem aktuellen (localen) HEAD)
$ git push origin HEAD:refs/heads/openslx-5.0
(HEAD ist hier nicht zwangsläufig master, sondern der Pointer HEAD, der auf eine beliebige Revision, Branch, .. verweisen kann)
Remote Branch auschecken (und als localen Branch anlegen)
$ git checkout --track -b openslx-5.0 origin/openslx-5.0
Sonstiges¶
Relativ analog zu SVN:
Status:
$ git status
Diff:
$ git diff
Log:
$ git log
..
.gitignore Dateien - Syntax identisch zu svn:ignore