我正在尝试通过
将我的主变更纳入我的本地分支git checkout MyPersonalBranch
git rebase master
然后我收到错误
Patch failed at ..blah blah
When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".
当我尝试git rebase --continue
时,我收到错误
xxx.client.jar: needs merge
You must edit all merge conflicts and then
mark them as resolved using git add
我希望它将xxx.jar保存在MyPersonalBranch中。我怎么告诉git不要尝试合并这个文件?
答案 0 :(得分:2)
通常,您可以使用--strategy
选项指定应如何处理冲突。策略theirs
盲目地替换文件。
但是,在您的情况下,您只有一个文件。您真的不想对所有文件使用theirs
策略。相反,在收到解决冲突的消息后,您可以从分支中检出该特定文件:
git checkout <branch> yourfile
(此时,<branch>
仍然引用了在rebase开始之前的分支。)
答案 1 :(得分:0)
确保文件内容正确,然后git add
并继续使用rebase。
答案 2 :(得分:0)
git status
以查看某些必须git add
您修改的文件git status
不应再显示任何“修改过的”文件git rebase --continue
根据您对所提到的jar进行更改的次数,您必须采取不同的操作,以便在正确的时间将其置于所需的状态。希望您的所有编辑都在一次提交中发生,在这种情况下,您只需要在重新定位时调整其内容以使其正确。您可以在冲突期间手动将正确的文件放置到适当的位置,或者在您第一次更改时使用文件和commit-id尝试签出时停止。
但是,如果你已经推动了你的分支,你真的不应该变基础。您可能应该将origin / master合并到您的分支中。