wake-up-neo.net

git: Dein Zweig und "Origin/Master" haben sich auseinandergezogen - wie kann man lokale Commits wegwerfen?

Ich habe die folgende Nachricht in git: 

# Your branch and 'Origin/master' have diverged,
# and have 3 and 8 different commits each, respectively.
#   (use "git pull" to merge the remote branch into yours)

Ich möchte die 3 lokalen Commits wegwerfen und die 8 Remote-Commits bei Origin/master ziehen. 

(Das Zusammenführen wird zu schwierig, ich würde lieber die 3 lokalen Commits erneut machen, wenn der Master auf dem neuesten Stand ist.)

Wie kann ich das machen?

43
Richard
git fetch Origin
git reset --hard Origin/master
134
SLaks

Um Ihre alten Commits in einem temporären Zweig zu speichern, falls Sie sie benötigen

git branch temp

Wechseln Sie dann zum neuen Master

git fetch Origin
git reset --hard Origin/master
25
jdramer

Versuchen Sie dies, um Ihre lokalen Commits wegzublasen:

git reset --hard HEAD~4
4
manojlds

Als Alternative zum Zusammenführen können Sie den Feature-Zweig mit folgenden Befehlen auf den Master-Zweig umbauen:

git checkout feature
git rebase master
3
Josip Ivic

Wenn ein Hard Reset nicht für Sie geeignet ist und Sie keinen Pull-Merge durchführen möchten, können Sie Ihre lokalen unerwünschten Änderungen verwerfen.

git branch -D <local branch>
git checkout -b <branch name> Origin/<branch name>

Verwenden Sie master als Beispiel:

git branch -D master
git checkout -b master Origin/master
1
Gemtastic

Um Ihr aktuelles lokales Commit zu löschen, verwenden Sie Folgendes: 

git reset HEAD^

Dadurch wird der Header in den Zustand vor dem Festschreiben zurückversetzt, und Sie können git pull vom Master eingeben. Stellen Sie sicher, dass Sie alle Ihre Änderungen an einem anderen Ort speichern, bevor Sie aus dem Remote-Repository ziehen. 

Um ohne Konflikte ziehen zu können, verwenden Sie git stash und dann git pull.

0
Bremsstrahlung