20.06.2020

Git


Git



Branch wechseln
git checkout develop
Branch prüfen
git branch
Der aktuelle Branch ist mit einem Sternchen gekennzeichnet
Neuen Branch erstellen (Basis ist der aktuelle Branch, also develop):
git branch myOwnBranch
Pushen des neuen Branches in das remote repository
git push -u origin myOwnBranch
Mergen eines Branches in den aktuellen Branch (develop):
git merge myOwnBranch
Commit-Message ändern
git commit --amend
War der commit bereits gepushed, so muss noch ein
git push -f
folgen.
Einzelne Datei zurücksetzen
git reset HEAD myFile
git checkout myFile

(Meist reicht die zweite Zeile)
Add rückgängig machen
git reset myFile

Commit rückgängig machen
git reset --soft HEAD~1
Dabei bleiben die Änderungen erhalten!
Mit einer höheren Zahl (z.B.: 3) können mehrere commits rückgängig gemacht werden.
Mit anschließendem git commit kann man dann alles commiten (Also indirekt die commits zusammenfassen)
Branch zurücksetzen
git reset --hard origin/myOwnBranch
Alle(!) lokalen Änderungen werden verworfen und der Stand von origin wird wieder hergestellt.
Branch löschen
git branch -d myOwnBranch (löscht den Branch im lokalen Repository, aber nur, wenn er bereits gemergt wrude)
git branch -D myOwnBranch (löscht den Branch im lokalen Repository; git push anschließend löscht auch remote)


Prompt mit aktuellem Verzeichnis und Git-Branch
Dazu muss folgende Zeile am Ende der ~./bashrc eintragen werden:
   PS1="\\w \[\033[0;36m\]\$(git branch 2>/dev/null | grep '^*' | colrm 1 2)\[\033[0;30m\]> "
oder

parse_git_branch() {
     git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\]> "

* \u@\h \[\033[32m\] - User, Hostname mit Farbe
* \w\[\033[33m\] - Verzeichnis mit Farbe
* \$(parse_git_branch)\[\033[00m\] - Git-Branch mit Farbe


Falls die .gitignore nicht funktioniert hilft Folgendes:
git rm -r --cached .
git add .


git stash um Änderungen zwischenzulagern
git stash pop um Änderungen wieder einzuspielen (stashing area wird gelöscht)
git stash apply um Änderungen wieder einzuspielen (stashing area wird nicht gelöscht)
git stash clear stashing area wird gelöscht
git stash list zeigt den Inhalt der stashing area