Ich habe einen Git-Zweig (v4 genannt), der erst gestern vom Master erstellt wurde. Es gab ein paar Änderungen am Master, die ich in v4 bekommen möchte. In Version 4 habe ich versucht, eine Rebase vom Master durchzuführen, und eine Datei bringt immer wieder Probleme: eine einzeilige Textdatei, die die Versionsnummer enthält. Diese Datei app/views/common/version.txt
enthält vor dem erneuten Basieren diesen Text:
v1.4-alpha-02
Folgendes mache ich:
> git rebase master
First, rewinding head to replay your work on top of it...
Applying: new version, new branch
error: patch failed: app/views/common/version.txt:1
error: app/views/common/version.txt: patch does not apply
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging app/views/common/version.txt
CONFLICT (content): Merge conflict in app/views/common/version.txt
Failed to merge in the changes.
Patch failed at 0001 new version, new branch
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".
Das version.txt
sieht jetzt so aus:
<<<<<<< HEAD:app/views/common/version.txt
v1.4-alpha-02
=======
v1.4-alpha-01
>>>>>>> new version, new branch:app/views/common/version.txt
Also, ich räume auf und es sieht jetzt so aus:
v1.4-alpha-02
und dann habe ich versucht weiterzumachen: zuerst versuche ich ein Commit:
> git commit -a -m "merged"
# Not currently on any branch.
nothing to commit (working directory clean)
Kein Glück da. Also habe ich versucht, die Datei hinzuzufügen:
git add app/views/common/version.txt
Keine Antwort. Keine Nachricht ist eine gute Nachricht, denke ich. Also versuche ich fortzufahren:
> git rebase --continue
Applying: new version, new branch
No changes - did you forget to use 'git add'?
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".
An diesem Punkt, nachdem ich mich damit beschäftigt habe, stoße ich meinen Kopf vom Schreibtisch.
Was ist denn hier los? Was mache ich falsch? Kann mich jemand klarstellen?
EDIT - für unutbu
Ich habe die Datei wie vorgeschlagen geändert und erhalte den gleichen Fehler:
> git rebase master
First, rewinding head to replay your work on top of it...
Applying: new version, new branch
error: patch failed: app/views/common/version.txt:1
error: app/views/common/version.txt: patch does not apply
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging app/views/common/version.txt
CONFLICT (content): Merge conflict in app/views/common/version.txt
Failed to merge in the changes.
Patch failed at 0001 new version, new branch
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".
git rebase master
und lässt es scheitern ; 2) dann bearbeiten Sie es version.txt
und machen es so, wie es an diesem Punkt aussehen sollte, und speichern die Bearbeitung; 3) dann du git add .../version.txt
; 4) dann tust du git rebase --continue
( nicht 'festschreiben' )! Wenn dies rebase --continue
hier erfolgreich ist, ist es bereits festgeschrieben (hier nicht erforderlich git commit
!). git push
Sie müssen also nur noch (wenn Sie ein Remote-Repo verwenden). Hoffe das hilft, wenn ich es richtig verstanden habe :)
- Prost!