当我向仓库发送更改请求时,我得到了这个:+ Subproject commit: *numbers*
我被告知尝试合并上游更改。
我该怎么做呢?我尝试git fetch origin
在我的本地仓库中使用,然后是 mergetool,但它说:No files need merging
.
自从 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)不在您的分支历史记录中。您的分支和之间的最后一个共同提交master
是F
. 项目维护者希望您将 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 书。 这是关于分支和合并的部分。