Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:git

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 bzw git 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)

Prinzipiell immer commit, pull, evtl. merge, push

GIT SSH mit einer unix gruppe teilen

http://realguess.net/node/10

(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 

Aenderungen, in branch committen etc.

Branch in master branch mergen:

git checkout master
git merge NAME 

Damit ist master aktuell. Der Branch NAME enthaelt evtl. zwischenzeitlich vorgenommene Aenderungen im Branch master aber natuerlich nicht.

Caro Vorgehensweise mit development-branch: branch entweder loeschen und neu erstellen, oder master in development mergen.

http://git-scm.com/book/en/Git-Branching-What-a-Branch-Is

GIT Tags

Mit tags kann man einzelne commits herausheben, z.B. um eine spezielle Version zu markieren.

Neuen tag erstellen mit

git tag -a SHORTNAME_ZB_v01 -m 'Beschreibung' 

tags+Beschreibungen auflisten mit

git tag -n 

zu tag SHORTNAME gehen

git checkout tags/SHORTNAME

Tags werden mit git push nicht mitgenommen. Ein tag auf den remote server/origin zu schieben:

git push origin SHORTNAME

Beim pullen sollte der tag mitkommen.

linux/git.txt · Zuletzt geändert: 2020/11/25 10:29 von oracl