git error - rebase -i remotes / gerrit / master

时间:2014-01-01 03:08:36

标签: git git-merge git-rebase gerrit git-review

https://review.openstack.org/#/c/64401/

以上是我正在尝试修改的提交

git commit -a --amend

但是当我做的时候

git review -v

它给了我

Running: git log --color=never --oneline HEAD^1..HEAD
Running: git remote
Running: git branch -a --color=never
Running: git branch --color=never
Running: git log HEAD^1..HEAD
Found topic 'fix-bug-1187277' from parsing changes.
Running: git rev-parse --show-toplevel
Running: git remote update gerrit
Fetching gerrit
Running: git rebase -i remotes/gerrit/master
Errors running git rebase -i remotes/gerrit/master
error: could not apply a062f76... Modify API ref for per-project-user quotas CRUD methods

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".
Could not apply a062f76... Modify API ref for per-project-user quotas CRUD methods

我不太明白我需要做什么? 我尝试了git rebase --abort git rebase --skip git rebase --continue,没有解决它。

1 个答案:

答案 0 :(得分:0)

那里就是 git冲突。您的提交a062f76 - Modify API ref for per-project-user quotas CRUD methods正在修改remotes/gerrit/master也已修改的行。

This stackoverflow answer解释了解决git中的冲突。它是知识的最佳链接,直接。但这是我的看法:

运行git diff以查看冲突是什么:您可以找到来自HEAD他们的)的行和来自您提交的行(我们的)。也许你会看到merged common ancestors,我觉得这令人困惑和无益。在代码中找到这些行并进行修复,以便最终状态是双方都希望代码执行的操作。要小心,因为您可能决定删除其他人想要存在的行,或者对代码进行模糊处理。就个人而言,我更愿意找到并与作者讨论有关它们的冲突,以避免这些问题。

或者,在受影响的每个路径(读取:文件)上,您可以运行git checkout [--theirs|--ours] -- path/to/file将该路径移动到某个点,其中theirsHEAD的最后一个提交到该路径,ours是您的最后一次提交。前者说“我不想要我的代码”,后者说“我只想要我的代码,没有人可以”

一旦你开心,git rebase --continue应该有效。如果发现另一个冲突,您可能需要再次重复这些步骤。

阅读材料