当我发送我的更改的拉取请求到回购时,我得到了这个:+ Subproject commit: *numbers*
我被告知尝试合并上游更改。
我到底该怎么做?我尝试将git fetch origin
用于我的本地仓库,然后使用mergetool,但它说:No files need merging
。
答案 0 :(得分:1)
当您分叉分支时,系统会要求您更新分支,其中包含对项目所做的更改。例如,项目历史记录现在可能如下所示:
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
之间存在冲突,则必须解决这些冲突。然后项目维护者可以合并您的pull请求,而无需通过合并commit M
来解决冲突。
要执行此更新原点,请检查分支并运行命令git merge origin/master
(假设master是上游HEAD)。然后,如果存在冲突git mergetool
,它将引导您解决冲突。提交合并并使用合并提交更新您的拉取请求。
如果你还没看过,我强烈推荐在线git书。 Here is the section on branching and merging