git:git能否意识到我从一个遥控器收到的提交与来自不同遥控器的提交相同?

时间:2010-02-18 02:42:34

标签: git github

我想知道为什么会出现一些使用git的行为:

我将github上的一个项目分支到github上我自己的项目。然后我将我的项目克隆到我的计算机上。原始项目发生了一些变化,所以我告诉github使用fork队列来提交它们。我在计算机上进行git pull以获得这些更改。

现在对原始项目进行了一些更改,但这次我在计算机上添加了一个远程分支到原始项目。当我对它进行git获取然后将git合并到我的本地分支时,我就会发生冲突。

我不明白为什么它会这样做,因为我几乎是最新的,只需要应用最后几次提交? git不能告诉我已经有了第一组提交,因为我通过自己的github项目fork间接获得了它们吗?

2 个答案:

答案 0 :(得分:3)

这些是不一样的提交。他们采摘樱桃。让它工作的最简单方法是通过远程更改来重新定义本地分支,而不是尝试合并它们。

rebase会注意到上游的变化是相同的,然后放弃它们。

答案 1 :(得分:2)

GitHub Fork Queue从根本上被打破,在任何情况下都不应该被使用。 Fork Queue使用git cherry-pick来挑选单个提交,合并有问题的分支。樱桃采摘几乎总是错误的事情;事实上,Git社区的大部分(包括Linus Torvalds)都严格反对它。 (当Linus还在运行Git项目时,他强烈反对向Git添加樱桃选择支持,直到今天他仍然拒绝合并任何包含樱桃选择提交的分支。)

你应该总是更喜欢合并而不是采摘樱桃。