| .. | ||
| README.md | ||
Table of Contents
- Git
- delete branch
- master updaten auf Stand von origin/master
- Lokal ausgecheckter Feature-Branch in master mergen
- Remote Branch als neuen local branch
- Tag löschen
- 1 oder mehrere Commits zurück
- Overwrite local history with remote
- Eigenen Branch mit dem Master-Branch aktualisieren
- Neuer Branch aus falschem Branch
Git
delete branch
Lokal Branch löschen z.B. wenn er auf Origin in master gemergt wurde.
// delete branch locally
git branch -d localBranchName
// delete branch remotely
git push origin --delete remoteBranchName
master updaten auf Stand von origin/master
git checkout master
git pull
git reset --hard origin/master
git pull
Lokal ausgecheckter Feature-Branch in master mergen
Vorgehensweise: Lokal in den master-Branch mergen und dann nach origin/master pushen.
Der übliche Weg sieht etwa so aus (ohne Pull-Request-Workflow):
- Auf master wechseln (lokal):
git checkout master - Aktuellste Änderungen von origin/master holen und mit lokalem master synchronisieren:
git pull origin master - Deinen Feature-Branch in den lokalen master mergen (angenommen, Dein Branch heißt feature/mybranch):
git merge feature/mybranch - Falls Merge-Konflikte auftreten, diese im Code beheben, Dateien committen, sodass der Merge abgeschlossen werden kann.
- Änderungen auf den Remote-Master pushen:
git push origin master
Nun ist der Code aus feature/mybranch in origin/master eingeflossen.
Remote Branch als neuen local branch
git fetch origin
# Anzeigen aller Branches
git branch -a
# zuerst local dann origin-name angeben:
git checkout -b INITIATIVE-242_Ru origin/INITIATIVE-242_Ru
Tag löschen
Lokal
git tag -d tagname
Remote
git push --delete origin tagname
1 oder mehrere Commits zurück
1 Schritt zurück
git reset --hard HEAD~1
Mehrere Schritte zurück
git reset --hard <commit-id>
! nicht vergessen, anschliessend für remote anpassen:
git push -f
Overwrite local history with remote
git fetch --all
git reset --hard <remote>/<branch-name>
Eigenen Branch mit dem Master-Branch aktualisieren
git checkout master
git pull
git checkout xyz
git rebase -i master
... hier die Konflikte lösen ...
git add .
git rebase --continue
git push --force-with-lease
Neuer Branch aus falschem Branch
Ausgangslage
Neuer Branch (b) wurde fälschlicherweise aus einem anderen Branch (a) (anstatt dem Master) erstellt. Die Files aus (a) sind nun doppelt vorhanden, nämlich auch in (b). Bei einem Pull-Request für (b) sind dann die files auch von (a) drin.
Problemlösung
git checkout master
git pull
git checkout (b)
git pull
git rebase -i master
bei den commits aus (b), also die, die nicht in den neuen branch gehören, ein d vorne dran (anstatt bestehendem pick) und speichern
git log (zum prüfen ob ok)
git push --force-with-lease