Git |
14.04.2023
Cherry-picking 
git cherry-pick wird verwendet um andere commits auf den aktuellen Branch zu übertragen.
Dazu muss dem Befehl lediglich die Commit-Id übergeben werden. Diese erhält man mit git log oder aber über Bitbucket (falls verwendet).
git cherry-pick b04e15466f5
b04e15466f5 ist natürlich nur eine beispielhafte Commit-Id.
15.12.2022
stash in Datei exportieren 
Exportieren mit:
git stash show -p > myFile.patch
Importieren mit:
git apply myFile.patch
25.05.2022
Dateien - Kommando rückgängig machen 
git commit rückgängig machen
git reset HEAD myFile
git checkout myFile
(Meist reicht die zweite Zeile)git add rückgängig machen
git reset myFile
25.05.2022
.gitignore 
Mit der Datei .gitignore kann man Dateien ausschließen. Das heißt, diese Dateien werden von git ignoriert.
.gitignore ist eine Textdtei und kann einzelne Dateien enthalten und auch Ordner.
Beispiel:
/tmp/** /config/config.xml
Falls die .gitignore nicht funktioniert hilft Folgendes:
git rm -r --cached .
git add .
23.05.2022
Prompt mit Git-Branch 
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\]> "
weitere Mögichkeiten:
\$(parse_git_branch)\[\033[00m\]
- Git-Branch mit Farbe\u@\h \[\033[32m\]
- User, Hostname mit Farbe\w\[\033[33m\]
- Verzeichnis mit Farbe
16.05.2022
Stash 
Die Staging Area ist so eine Art Zwischenablage. In dieser können Änderungen zwischengespeichert werden. Beispielsweise, wenn man mal kurz den Branch wechseln möchte ohne die vorhandenen Änderungen im aktuelle Branch zu commiten.
git stash
um Änderungen zwischenzulagerngit stash pop
um Änderungen wieder einzuspielen (stashing area wird bei Erfolg gelöscht)git stash apply
um Änderungen wieder einzuspielen (stashing area wird nicht gelöscht)git stash clear
stashing area wird gelöschtgit stash list
zeigt den Inhalt der stashing area16.05.2022
Add 
add
git add .
fügt alle geänderten Dateien hinzu (zwischen "add" und dem "." muss ein Leerzeichen sein!).git add myFilePath
fügt eine bestimmte Datei hinzu.16.05.2022
Commit 
Commit durchführen
git -m "MyCommitMessage"
(Bedingung: vorher müssen mit add Dateien hinzugefügt werden)
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).
Commit-Message ändern
git commit --amend
War der commit bereits gepushed, so muss noch ein
git push -f
folgen.
05.05.2022
Zeilenumbrüche 
Leider gibt es verschiedenen Zeilenumbrüche, je nach System.
Windows:
git config --global core.autocrlf true
Linux u. Mac
git config --global core.autocrlf input
04.05.2022
Branches 
Branch wechseln
git checkout develop
Der aktuelle Branch ist nun develop
Branch prüfen
git branch
Gibt eine Liste aller schon mal ausgecheckten Branches aus.Der aktuelle Branch ist mit einem Sternchen gekennzeichnet
Neuen Branch erstellen
(Basis ist der aktuell ausgecheckte Branch, also in der Regel develop):git branch myOwnBranch
Pushen
... des neuen Branches in das remote repositorygit push -u origin myOwnBranch
Mergen
... eines Branches in den aktuellen Branch (develop):git merge anotherBranch
Branch zurücksetzen
git reset --hard origin/myOwnBranch
Alle(!) lokalen Änderungen werden verworfen und der Stand von origin wird wieder hergestellt.
Branch umbenennen
git branch --move bad-branch-name corrected-branch-name
(gibt dem Branch im lokalen Repositoryeinen neuen Namen)git push --set-upstream origin corrected-branch-name
(bringt die Änderung auf den remote branch)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)git push origin :myOwnBranch
(Leerzeichen vor dem ":"!)Branch finden
git branch -a --contains commit
(findet den Commit in allen Branches)