Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
git Versionsverwaltung
kurz und knapp: http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/de/ch02.html
Grafisches Interface (zum schnellen browsen in alten commits…):
gitk
bzwgit gui
(von git selbst mitgeliefert, auf tcl/tk)qgit
(Qt Interface)tig
(ncurses?)
Zusammenfassung
Befehl | macht |
---|---|
git init (--bare fuer kein working directory) | |
git add [Dateien] | Dateien hinzufuegen |
git commit -am "Kommentar" | aktuelle Version der Datei ins git |
git push --all [gitrepo] | git Infos nach [gitrepo] kopieren |
git log --pretty=format: --name-only --diff-filter=A | sort - | Liste aller Dateien in der Versionsverwaltung anzeigen |
Grobe Vorgehensweise
git init git add datei git commit vim datei git status git status -s git commit -a git commit -am "commit message" git log
von woanders holen und interagieren:
git clone ssh://server/home/user/gitrepository [...] git push [...woanders aenderungen...] git pull
pushen möglichst nur auf einen dedizierten server auf dem nicht am repository gearbeitet wird und deshalb nur ein bare repository mit git init –bare
eingerichtet wurde! (beim ersten pushen auf den server: git push origin master:master
um den branch festzulegen)
GIT SSH mit einer unix gruppe teilen
(im repository verzeichnis)
git init --bare --shared=group chown -R user:group .
GIT BARE REPO umziehen
git clone --bare --shared ssh://physiker/home/tomitude/api api chown -R tomitude:tomitude .
GIT Branching
neuen branch erstellen mit
git branch NAME
branch wechseln mit
git checkout NAME
Sinnvoll evtl. wenn ich mit mir selbst zusammenarbeite: Uni Aenderungen committen zu master branch, wechseln zu dummy branch, zuhause pullen von master branch, Aenderungen comitten, pushen zu master branch uni. Zurueck an der Uni zu master branch wechseln. Wenn ich an der uni nicht zum dummy branch wechsle, dann will git aus Angst vor Konflikten nicht pushen.