【发布时间】:2014-05-23 13:55:50
【问题描述】:
上下文
很久以前我创建了https://github.com/nicolas-raoul/Anki-Android ("repo1")。
有人将它分叉到https://github.com/ankidroid/Anki-Android ("repo2"),现在我们大家都在这里进行协作。
我想做什么
我想更新 repo1 以获得来自 repo2 的最新源代码(以便我可以创建功能分支并发送拉取请求)。
我尝试了什么
在 repo1 的本地克隆中,我运行了 git pull <repo2> master,但我遇到了巨大的冲突。
我觉得这很令人惊讶,因为 last thing I did 是完全相同的命令。自从我上次从 repo2 拉出后,即使我没有修改 repo1,怎么会发生冲突? (我刚刚删除了我的本地 repo 并从 repo1 重新克隆,因此您可以确定我的本地 repo 没有问题)
我认为我不能使用 rebase,因为 repo2 最初是从我的 repo repo1 分叉出来的。
【问题讨论】:
-
我还没有仔细查看你的提交日志,但听起来有人可能已经重写了分叉仓库中的现有提交,比如通过 rebase、cherry-pick、修改等。这是我要检查的第一件事。事实上,我现在就去挖掘......
-
第二个 repo 实际上并不是直接从你的 repo 派生出来的,它是从 this one 派生的,它是从你的 repo 派生出来的。所以涉及到 3 个 repos。
-
另一种可能性是行尾差异(Windows vs OS X)。我还在检查...
-
您使用的是什么操作系统?视窗?操作系统?你的合作者呢?是否有人将
core.autocrlf设置为true用于他们的 git 配置? -
您真的需要/关心 repo1 上的内容吗?如果没有,只需将 repo2 的 HEAD 强制推送给它,不要介意。
标签: git git-rebase git-pull git-fork