1

我正在尝试一个

git rebase --onto master myremote/master~21 myremote/master

从我的远程存储库添加最新的 21 个提交。

git 告诉我的是存在冲突——但这怎么可能呢?

据我了解,它只是将 21 次提交应用到我的主人之上。怎么会有冲突?

感谢帮助!

顺便说一句,我这样做是因为不知何故我搞砸了我的 git-svn 存储库(远程),并且有 21 个提交我无法提交到颠覆。所以我正在尝试一个新的 git-svn 克隆,我在其中添加了这 21 个提交。

4

1 回答 1

0

如果出现以下情况,则存在冲突:

  • master 有提交不在myremote/master.
  • 这些提交包括最后 21 次myremote/master提交的常见文件/更改。

如果以某种方式新鲜git-svn clone的 SHA1 与以前的 git-svn 存储库不同,则没有密切的共同祖先,冲突的可能性要高得多。
请参阅“如何在 git rebase 期间通过哈希识别冲突的提交? ”以了解 rebase 期间的冲突说明。


将本地主机重置为 myremote/master 的一种方法是:

git checkout -b tmp myremote/master  # local tmp branch from myremote/master HEAD.
git merge -s ours master             # ignore completely master content
git checkout master
git merge tmp                        # fast-forward to tmp HEAD

如果您master在 fetching 之前没有在本地进行任何更改myremote/master,这应该可以工作。

于 2011-02-08T11:57:56.423 回答