Versuchen, Git-Verhalten zu verstehen.Warum kann git pull lokale Änderungen nicht zusammenführen?
Wenn ich git pull
ausführen ich erhalte eine Warnung
error: Your local changes to the following files would be overwritten
by merge:
foo/bar
Please, commit your changes or stash them before you can merge. Aborting
Aber wenn ich git stash save
, git stash pull
und dann git stash pop
, die Änderungen ohne Probleme angewendet werden.
Auto-merging foo/bar
...
Warum kann nicht/nicht git pull
das gleiche tun?
'git pull' =' git fetch' + 'git merge' ... Ziehen führt zu einer Zusammenführung, daher die Fehlermeldung. –
Wenn du einen smarter 'git pull' willst, der das stash/pull/pop für dich macht, dann beachte [git-smart] (https://github.com/geelen/git-smart) und es ist' git smart- Pull'-Befehl. – meagar
Der Speichern/Speichern-Workflow für Git Stash funktioniert mit nicht festgeschriebenem Code. Wie weiß git, was Sie mit Ihrem unverbindlichen Code machen wollen? Ich möchte lieber, dass du sagst, was du willst, anstatt es entweder wegzuwehen oder es automatisch wegzuspeichern. Sie müssen nicht festgeschriebenen Code manuell behandeln, bevor Sie versuchen, Ihre Sachen mit Upstream-Änderungen zu verschmelzen (Zweck der Pull ...) – g19fanatic