Eine Kurzanleitung für den Einstieg in git, ohne komplizierte Inhalte ;)

Autor: Roger Dudler
Dank an: @tfnico, @fhd und Namics
Bei Fehlern erstellen Sie bitte ein Issue auf github

安装

git für OSX herunterladen

git für Windows herunterladen

git für Linux herunterladen

Neues Repository erstellen

Erstellen Sie einen neuen Ordner, öffnen Sie ihn und führen Sie aus
git init
um ein neues git Repository zu erstellen.

Repository auschecken

Führen Sie den folgenden Befehl aus, um eine Kopie eines lokalen Repositories zu erstellen:
git clone /path/to/repository
Liegt das Repository auf einem entfernten Server, sieht Ihr Befehl so aus:
git clone username@host:/path/to/repository

Workflow

Ihr lokales Repository besteht aus drei „Bäumen", die git verwaltet. Der erste ist der工作目录er hält die tatsächlichen Dateien. Der zweite ist der 暂存区(Index)er wirkt wie ein Zwischenspeicher und sichert Ihre Änderungen vorübergehend. Zuletzt der HEADer zeigt auf das Ergebnis Ihres letzten Commits.

Hinzufügen und Committen

Sie können Änderungen vorschlagen (zum Staging-Bereich hinzufügen), mit dem folgenden Befehl:
git add <filename>
git add *
Das ist der erste Schritt im grundlegenden git Workflow. Führen Sie den folgenden Befehl aus, um die Änderungen tatsächlich zu committen:
git commit -m "代码提交信息"
Jetzt sind Ihre Änderungen im HEAD committet, aber noch nicht in Ihrem entfernten Repository.

Änderungen pushen

Ihre Änderungen liegen jetzt im HEAD des lokalen Repositories. Führen Sie den folgenden Befehl aus, um diese Änderungen an das entfernte Repository zu übertragen:
git push origin master
Sie können master durch jeden beliebigen Branch ersetzen, den Sie pushen möchten.

Wenn Sie kein bestehendes Repository geklont haben und Ihr Repository mit einem entfernten Server verbinden möchten, fügen Sie ihn mit dem folgenden Befehl hinzu:
git remote add origin <server>
So können Sie Ihre Änderungen an den hinzugefügten Server pushen.

Branches

Branches isolieren die Entwicklung von Features. Beim Erstellen des Repositories ist master der „Standard"-Branch. Entwickeln Sie auf anderen Branches und mergen Sie sie nach Abschluss in den Haupt-Branch.

Erstellen Sie einen Branch namens „feature_x" und wechseln Sie zu ihm:
git checkout -b feature_x
Wechseln Sie zurück zum Haupt-Branch:
git checkout master
Löschen Sie den neuen Branch:
git branch -d feature_x
Solange Sie den Branch nicht an das entfernte Repository pushen, ist er für andere nicht sichtbar:
git push origin <branch>

Aktualisieren und Mergen

Um Ihr lokales Repository auf den neuesten Stand zu bringen, führen Sie aus:
git pull
Dadurch werden die Änderungen des entfernten Repositories in Ihr Arbeitsverzeichnis geholt (fetch) und gemergt (merge).
Um einen anderen Branch in Ihren aktuellen Branch (z. B. master) zu mergen, führen Sie aus:
git merge <branch>
In beiden Fällen versucht git, die Änderungen automatisch zu mergen. Leider gelingt das nicht immer, und es kann zu Konflikten (conflicts) kommen. Dann müssen Sie die Dateien bearbeiten, um die Konflikte (conflicts) manuell zu lösen. Danach führen Sie den folgenden Befehl aus, um sie als erfolgreich gemergt zu markieren:
git add <filename>
Bevor Sie Änderungen zusammenführen, zeigen Sie die Unterschiede mit folgendem Befehl an:
git diff <source_branch> <target_branch>

Tags

Für Software-Releases erstellen Sie Tags. Dieses Konzept existiert schon lange und ist auch in SVN bekannt. Erstellen Sie mit folgendem Befehl einen Tag namens 1.0.0:
git tag 1.0.0 1b2e1d63ff
1b2e1d63ff sind die ersten 10 Zeichen der Commit-ID, die Sie markieren möchten. Rufen Sie die Commit-ID mit folgendem Befehl ab:
git log
Sie können auch weniger als die ersten Zeichen der Commit-ID verwenden, solange die Referenz eindeutig ist.

Lokale Änderungen ersetzen

Wenn Sie einen Fehler machen (das sollte idealerweise nie passieren), ersetzen Sie lokale Änderungen mit folgendem Befehl:
git checkout -- <filename>
Dieser Befehl ersetzt die Dateien in Ihrem Arbeitsverzeichnis durch den neuesten Inhalt aus HEAD. Änderungen im Staging-Bereich und neue Dateien bleiben unberührt.

Wenn Sie alle lokalen Änderungen und Commits verwerfen möchten, holen Sie den neuesten Verlauf vom Server und zeigen Sie Ihren lokalen Hauptzweig darauf:
git fetch origin
git reset --hard origin/master

Praktische Tipps

Integrierte grafische Git-Oberfläche:
gitk
Farbige Git-Ausgabe:
git config color.ui true
Beim Anzeigen des Verlaufs zeigt jedes Commit nur eine Zeile:
git config format.pretty oneline
Dateien interaktiv zum Staging-Bereich hinzufügen:
git add -i

Links und Ressourcen

Grafische Clients

Anleitungen und Handbücher