我似乎搞乱了我的git回购,可能是因为犯了“不要重新提交已提交到公共存储库的提交”的罪名。Git重新发布的问题 - 我应该“推动原点”
的情况是这样的:
- 我跟踪从我的主分支中的上游资源库的变化,我把我自己的变化在一个名为devel的分支。
- 当上游存储库发生更改时,我将其拖入主分支。
- 然后,我签出devel并对其执行
rebase master
,以在主分支上获取我自己的更改。这产生原因的冲突,给下面的错误消息上来在几个提交的(I包括以下仅它们中的一个作为示例):
回落到修补基和3路合并。自动合并 public/scala/qscript/org/broadinstitute/sting/queue/qscripts冲突 公共/ scala/qscript/org/broadinstitute/sting/queue/qscripts/AlignWithBWA.scala 冲突/AlignWithBWA.scala 未能在更改中合并。 0038补丁失败为索引文件添加了检查 。
当你解决了这个问题,运行“git rebase --continue”。如果 你宁愿跳过这个补丁,而是运行“git rebase --skip”。 查看原始分支并停止重新分配运行“git rebase --abort”。
- 然后我用
git rebase --skip
跳过产生这些问题的提交,最后我结束了我想要的代码。
现在,问题是,每次我想rebase我必须经过这个过程。我有什么方法可以避免未来发生同样的冲突?我的想法是使用push --force origin devel
来覆盖远程回购中的历史记录,而不用提交导致冲突的提交。这是要走的路吗?或者有其他方法可以解决这个问题吗?