GIT

Git installieren und einrichten:
sudo apt-get install git-core

git config --global user.name "Christoph Hüffelmann"
git config --global user.email chr@istoph.de

Ein git Repository local erstellen:
git init
git add .
git commit -m "initial commit"
git remote add master git@git.chr.istoph.de:projekt

Ein Projekt auschecken:
git clone git@git.chr.istoph.de:projekt

Veränderungen vom git Server holen:
git fetch
git pull --ff-only

Dies sollte immer vor jeder Aktion gemacht werden.

Etwas in ein Git einchecken:
git add datei.txt
git commit -m "Beschreibung der änderrung"
git puch

Force Push
git push --force-with-lease --set-upstream origin branchname

Einzelne Dateien auschecken:
git checkout datei.txt

Tags
git tag -l

Rebase
git fetch
git log -n10
git rebase -i master

Aktuellen stand holen, mit log, kann man sich eine Commit ID heraussuchen. Mit rebase interaktiv kann man die Commits bearbeiten.

Branch
git switch -c branchname
Zu einer Branch wechseln und mit -c eine neue Branch anlegen.

Git Gui
Hier eine Kurzanleitung wie man mit git gui Dateien hinzufügt, nichts anderes als git add.

Zunächst müssen die Dateien aus „Nicht bereitgestellte Änderungen“ doch klicken auf das Datei Symbol, in „Bereitstellung“ transferiert werden.


Dann muss für die Bereitzustellende Dateien eine geeignete Beschreibung gefunden werden. Das gleiche was auch git commit machen würde. Anschließend klickt man auf die Schaltfläche Eintragen.


Zum abschließen klickt man auf Versenden. Das ist Äquivalent mit git puch. Auf der nun öffnen Schaltfläche kann man auswählen in welchen teil des Baumes die Änderungen eingecheckt werden sollen. In unsrem falle master. Abschießend klickt man wiederum auf Versenden.

.gitignore
In jeder Ebene eines Git-Verzeichnis kann eine .gitignore abgelegt werden. In dieser Datei kann man Dateien ähnlich dem Syntax auf der Kommandozeile, ausließen.
Beispeils weise so, hier werden ein ganzes Verzeichnis /tmp, alle Dateien die auf .db enden und eine Datei die sich in einem Unterordner befindet ausgeschlossen.
/tmp
/*.db
/ordner/datei