Ich habe einen Git-Zweig 9-sign-in-out
mit perfekt funktionierendem Code und möchte ihn in den Master verwandeln. Ich bin derzeit in der Hauptniederlassung.
$ git branch
9-sign-in-out
* master
Ich versuche, zum 9-sign-in-out
Zweig zu wechseln , aber ich kann nicht:
$ git checkout 9-sign-in-out
app/helpers/application_helper.rb: needs merge
config/routes.rb: needs merge
error: you need to resolve your current index first
Irgendeine Idee, wie ich alle Master-Zweigfehler ignorieren und den 9-sign-in-out
Zweig in den Master verwandeln kann ? Vielleicht Git Rebase ? Aber ich möchte den Code in der 9-sign-in-out
Verzweigung nicht verlieren .
git
branch
git-merge
git-branch
Sayanee
quelle
quelle
Antworten:
Es lohnt sich zu verstehen, was diese Fehlermeldungen bedeuten -
needs merge
underror: you need to resolve your current index first
anzuzeigen, dass eine Zusammenführung fehlgeschlagen ist und dass diese Dateien Konflikte enthalten. Wenn Sie entschieden haben, dass die Zusammenführung, die Sie versucht haben, doch eine schlechte Idee war, können Sie die Dinge wieder normalisieren mit:Andernfalls sollten Sie diese Zusammenführungskonflikte lösen, wie im Git-Handbuch beschrieben .
Sobald Sie sich mit beiden Techniken darum gekümmert haben, sollten Sie in der Lage sein, den
9-sign-in-out
Zweig auszuchecken . Das Problem beim einfachen Umbenennen von9-sign-in-out
inmaster
, wie in der Antwort von wRAR vorgeschlagen , besteht darin, dass, wenn Sie Ihren vorherigen Hauptzweig mit jemandem geteilt haben, dies zu Problemen für ihn führt, da Sie, wenn der Verlauf der beiden Zweige divergiert, neu geschrieben veröffentlichen Geschichte.Im Grunde tun , was Sie wollen, ist Ihr Thema Zweig verschmelzen
9-sign-in-out
inmaster
aber genau die Versionen der Dateien im Thema Zweig zu halten. Sie können dies mit den folgenden Schritten tun:quelle
webrat.log
.)quelle
wie vorgeschlagen in
git status
,Ich habe
git add
die Zusammenführung beendet undgit checkout
funktioniert dann einwandfrei.quelle
Mein Problem war (Master | REBASE 1/1)
Dieser Befehl hat bei mir funktioniert
quelle
git commit -m "Zusammengeführter Master hat einen Konflikt behoben."
quelle