Ich versuche, 'dev' neu zu gründen, um den 'Master'-Zweig einzuholen.
$ git checkout dev
$ git rebase master
First, rewinding head to replay your work on top of it...
Applying: Corrected compilation problems that came from conversion from SVN.
Using index info to reconstruct a base tree...
M src/com/....
<stdin>:125: trailing whitespace.
/**
<stdin>:126: trailing whitespace.
*
<stdin>:127: trailing whitespace.
*/
<stdin>:128: trailing whitespace.
package com....
<stdin>:129: trailing whitespace.
warning: squelched 117 whitespace errors
warning: 122 lines add whitespace errors.
Falling back to patching base and 3-way merge...
Auto-merging src/com/....
CONFLICT (content): Merge conflict in src/com/...
Failed to merge in the changes.
Patch failed at 0001 Corrected compilation problems that came from conversion from SVN.
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To check out the original branch and stop rebasing run "git rebase --abort".
$ vi src/com/..... { fixed the merge issue on one file }
$ git add -A .
$ git rebase --continue
src/com/....: needs merge
You must edit all merge conflicts and then
mark them as resolved using git add
$ vi src/com.... { verified, no >>> or <<< left, no merge markers }
$ git rebase --continue
Applying: Corrected compilation problems that came from conversion from SVN.
No changes - did you forget to use 'git add'?
If there is nothing left to stage, chances are that something else
already introduced the same changes; you might want to skip this patch.
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To check out the original branch and stop rebasing run "git rebase --abort".
Irgendwelche Ideen?
git
git-rebase
awm
quelle
quelle
git rebase --skip
immer noch nicht richtig funktioniert. Bis Git 2.0.2 (Juli 2014). Siehe meine Antwort untenAntworten:
Es gibt einige Situationen, in denen ich gesehen habe, wie
rebase
sie stecken geblieben sind. Eine ist, wenn die Änderungen null werden (ein Commit enthält Änderungen, die bereits zuvor in der Rebase vorgenommen wurden). In diesem Fall müssen Sie sie möglicherweise verwendengit rebase --skip
.Es ist ziemlich leicht zu sagen. Wenn Sie dies tun
git status
, sollten keine Änderungen angezeigt werden. Wenn ja, überspringen Sie es einfach. Wenn dies nicht der Fall ist, senden Sie bitte eine Kopie vongit status
und ich kann versuchen, weiter zu helfen.quelle
--skip
würde schlimmer kommen, als nur mit den Änderungen fortzufahren, die ich vorgenommen hatte.git status
gezeigt wurde, dass eine Datei geändert, aber nicht zum Festschreiben hinzugefügt wurde. Dieadd somefile.txt
Ausführung darf mit dem erneuten Basieren fortgesetzt werden.Eine der Zeiten, in denen ich auf dieses Problem gestoßen bin, ist, wenn ich eine
git commit
nach a machegit add
. Die folgende Sequenz erzeugt also den von Ihnen erwähnten Rebase-Fehler:git add <file with conflict>
git commit -m "<some message>"
git rebase --continue
Die folgende Sequenz läuft fehlerfrei ab und setzt die Rebase fort:
git add <file with conflict>
git rebase --continue
Es ist möglich, dass
git add -A
mit der Option "Alle" eine ähnliche Situation entsteht. (Bitte beachten Sie, dass ich in Git sehr unerfahren bin, daher ist diese Antwort möglicherweise nicht korrekt.) Um sicher zu gehen,git rebase --skip
scheint das auch in dieser Situation gut zu funktionieren.quelle
Hinweis: Git 2.0.2 (Juli 2014) hat einen Fall behoben, in dem a
git rebase --skip
stecken bleiben und nicht mit der aktuellen Rebase fortfahren kann.Siehe Commit 95104c7 von Brian M. Carlson (
bk2204
)rebase--merge
: Behebung--skip
mit zwei Konflikten hintereinanderquelle
Sieht so aus, als hättest du
git add
deine Änderungen vergessen ...quelle
git add
die Zusammenführung verwendet und dann fortgesetzt, und sie wurde gestoppt, weil eine andere Datei Konflikte aufweist. Daher müssen Sie auch diese beheben. Vermisse ich hier etwas?