Git Kommandozeile

von | Jul 2, 2018 | Entwickler, Git | 0 Kommentare

Problem: Ich möchte Git Projekte via Kommandozeile oder scripts verwalten.  Hier einige Zusammenfassungen von Git Befehlen für typische Anwendungsfälle:

Voraussetzung: Git installert [Windows]

 

HTTP Protokoll

Git für ein neues Projekt initialisieren:

  Zuerst in das gewünschte Projektverzeichnis wechseln.

Hier ein Beispiel mit Bitbucket, liegt das Repository bei einem anderen Dienst bzw. Git-Server dann die Adresse entsprechend anpassen.

git init

git remote add origin https://Benutzername@bitbucket.org/teamname/repository-name.git

git add *

git commit -m "initial commit projektname" (die " können beim Kopieren Probleme verursachen, lieber abtippen)

git push –-set-upstream origin master

Git Projekt klonen:

  Hier ein Beispiel mit Bitbucket, liegt das Repository bei einem anderen Dienst bzw. Git-Server dann die Adresse entsprechend anpassen.

clone https://Benutzername@bitbucket.org/AccountName/repository-name.git /lokaler/projekt/pfad/

mit Git arbeiten:

typische Befehle die regelmässig bei der Arbeit mit Git benötigt werden:

Aktueller Stand des lokalen Repositories:

git status

Übersicht und Status des remote Repositories:

git remote show origin

Lokales Repository auf den Stand des remote Repository  aktualisieren:

git pull

Datei(en) zum lokalen Repository hinzufügen: (z.B. auch *.dateityp)

git add meine.datei

Commit hinzufügen: (Einige Empfehlungen für die Formatierung von Git Commits habe ich hier zusammengefasst.)

git commit -am "Hier die commit Nachricht"

Commit erweitern / korrigieren (geht nur solange noch nicht gepusht wurde)

git comit --ammend gewünschte git Befehle

Git Branch erstellen:

git branch branch-name
git checkout branch-name

Mist gebaut? Git reset: (Die Anzahl der ^ gibt dabei an wie viele commits rückgängig gemacht werden sollen.)

git reset HEAD%22

Für das prüfen, verwalten, und mergen von Git repositories empfehle ich, für eine bessere Übersicht, Werkzeuge mit einer grafischen Oberfläche zu verwenden da dies die Arbeit erheblich vereinfacht. Zu erwähnen sind hier z.B. Sourctree von Atlassian und das Helix Visual Merge Tool von Perforce. Allerdings bringen auch diese Werkzeuge ihre Eigenheiten mit sich und stehen manchmal einfach nicht zur Verfügung dafür die folgende Übersicht für die Kommandozeile:

Übersicht von Änderungen des letzten Commits:

git log --stat –abbrev-commit

Details zu den Änderungen aus dem letzten Commit (die -1 gibt die Anzahl der zu prüfenden Commits an)

git log -p -1 --pretty=fuller

Kombinierte Ansicht:

git show --pretty=fuller --abbrev-commit

Git branches mergen: (Vorsicht! bei größeren merges kann das Auto-merge von Git eine Menge Arbeit verursachen. Ich empfehle ein externes Merg Tool zu verwenden. Siehe oben)

Beispiel 1: branch-name in master mergen: (Änderungen aus dem branch in master übernehmen.)

git checkout master
git merge branch-name

Beispiel 2: master auf branch-name mergen: (Branch branch-name auf den Stand von master aktualisieren.)

git checkout branch-name
git merge master

Manchmal gibt es auch Probleme mit Git. Hier einige davon mit Links zu Lösungsvorschlägen.:

Git hat meine Dateien gelöscht