0

当我向仓库发送更改请求时,我得到了这个:+ Subproject commit: *numbers*我被告知尝试合并上游更改。

我该怎么做呢?我尝试git fetch origin在我的本地仓库中使用,然后是 mergetool,但它说:No files need merging.

4

1 回答 1

1

自从 fork 分支以来,系统会要求您使用对项目所做的更改来更新您的分支。例如,项目历史现在可能如下所示:

A  <- master
|
B  E  <-- Your branch which you submitted as a pull request.
|  |
C  D
| /
F   <-- You fork your branch and start working.

请注意,现在有一些提交(A、B 和 C)不在您的分支历史记录中。您的分支和之间的最后一个共同提交masterF. 项目维护者希望您将 A、B 和 C 合并到您的分支中,因此您的分支的历史记录如下所示:

   M  <-- New tip of your branch.
  /|
 / |
A  <- master
|  |
B  E  
|  |
C  D
| /
F   <-- You fork your branch and start working.

这样,如果A, B, C您的提交与您的提交之间存在冲突,E, D您将不得不解决它们。然后项目维护者可以合并您的拉取请求,而无需通过合并 commit 来解决冲突M

要执行此更新源,然后检查您的分支并运行命令git merge origin/master(假设 master 是上游 HEAD)。然后,如果存在冲突git mergetool,它将引导您完成冲突解决。提交您的合并并使用合并的提交更新您的拉取请求。

如果你还没有读过它,我强烈推荐在线 git 书。 这是关于分支和合并的部分

于 2013-05-10T13:44:18.970 回答