我有两个提交.提交B取决于提交A.提交A被放弃.现在我因合并B而收到错误.它表示由于B对A的依赖而提交,合并待决.
我用Google搜索,但无法找到确切的答案.我需要一步一步的解决方案,因为我是git的新手,我很难理解如何解决这个问题.
这就是发生的事情.
git在本地为A提交
git推送远程A.
一个被遗弃,但我当地的git已经承诺A.
git在本地为同一分支中的B提交(使B依赖于A).
git在同一分支的远程推送B.
现在B没有合并,因为A被抛弃了.
我需要合并B,我希望依赖A删除.希望它现在清楚!
这是服务器错误:
更改1184 - 已提交,合并待定
在评论中:
Gerrit Code Review
由于缺少依赖性,无法合并更改.还必须提交以下更改:(commit-id,已被放弃)
rebase工作?如果是这样,怎么办?
有几种方法可以解决您的问题.挑选你觉得最舒服的.
这是一个:
git checkout yourbranch (确保你在正确的分支)git reset --hard A^ (在A之前将所有内容重置为提交)git cherry-pick B (其中B是您要保留的提交的哈希值)git log (确认这是你想要的)git push --force (可能需要指定其他选项,具体取决于您通常的推送方式)这是另一个,结果是等价的:
git checkout yourbranch (确保你在正确的分支)git rebase --onto A^ A (在A之前的A之前将A之后的所有内容重新绑定,有效地删除A)git log (确认这是你想要的)git push --force (可能需要指定其他选项,具体取决于您通常的推送方式)这是第三个,结果仍然相同:
git checkout yourbranch (确保你在正确的分支)git rebase --interactive A^ (将打开你的编辑)git log (确认这是你想要的)git push --force (可能需要指定其他选项,具体取决于您通常的推送方式)