Ich bekomme das nicht: wenn ich 'pit --reabase remote branch' ziehe, kehrt es meinen HEAD zurück zu ihrem gemeinsamen root und startet dann die Wiedergabe aller remote commits, die in der Zwischenzeit passiert sind. Warum scheitern diese Commits manchmal? Sie sind saubere Commits auf einem sauberen Arbeitsplatz? Ist das nicht fast der Punkt der Rebasing?Warum schlägt git pull --rebase beim Wiedergeben bestehender Commits fehl?
Antwort
Sind Sie sicher, es ist nicht Ihre commits fehlgeschlagen?
Angenommen, Sie arbeiten an einem Zweig und nehmen eine Reihe von Änderungen an einer bestimmten Datei vor.
Jetzt möchten Sie Ihre Commits auf, was auch immer der Kopf der Fernbedienung ist.
Alle Ihre Änderungen werden entfernt, dann werden alle übernommen, und alle Ihre Änderungen werden erneut angewendet. Was also, wenn sie die Datei löschen, an der Sie gerade arbeiten? Oder anderweitig vorgenommene Änderungen, die eine Änderung Ihrer Änderungen unmöglich machen?
Kwatford ist richtig. Sie haben Konflikte, weil Ihre Änderungen auf veralteten Versionen der Dateien basieren. Wenn git versucht, Ihre Änderungen zu übernehmen, erkennt es, dass Ihre Änderungen versuchen, den Code zu ändern, der nicht mit dem übereinstimmt, mit dem Sie begonnen haben. Daher wird er als Konflikt festgelegt –
Siehe auch http://stackoverflow.com/questions/3051461/git-rebase-keeping-track-of-local-and-remote/3052118#3052118, um eine bessere Vorstellung davon zu bekommen, was darüber wiedergegeben wird eine Rebase. – VonC