将我的拉取请求与其他人同步 提交一些更改 - Github



我发送了一个 PR,其他人做了一些更改,所以它还有 3 次提交,现在我需要将该 PR 与我的本地同步以继续处理一些更改。我该怎么做才能将我的本地与 PR 同步。

谢谢

拉取请求基本上只是存储库分支上的指定分支。更新该分支(通过将其提交重新设置为这些新提交的基础(,拉取请求将自动更新以显示这些更改。

首先,您需要访问您自己的项目分支中的其他提交。为此,您可以将上游存储库添加为额外的远程存储库,并从那里获取提交:

git remote add <new-remote-name> <upstream-url.git>
git fetch <new-remote-name> <upstream-branch>

然后,您可以在上游更改的基础上重新设置更改的基数:

git checkout <your-pr-branch>
git rebase <new-remote-name>/<upstream-branch>
git push <origin> <your-pr-branch>

您需要重新调整分支的基数,以反映 PR 中其他人的所有合并工作。以下是执行此操作的方法:

假设upstream是您已分叉的远程仓库的名称,origin是分叉仓库的名称。

git pull --rebase upstream master
git push origin master

在变基期间的某个时候可能会出现合并冲突。在这种情况下,请使用以下命令检查存在冲突的文件:

git status

红色文件的名称是有冲突的文件。手动解决冲突。解析后,使用以下方法添加文件:

git add <filename> or   //for each conflicted file
git add --all          //to add all files at once

再次使用git status命令检查状态。如果所有文件都显示为绿色,则表示它们已解析,您现在可以继续变基。运行以下命令以继续变基:

git rebase --continue

完成后,只需使用以下方法将更改推送到分叉存储库:

git push -f origin master

注意:如果您尚未设置上游和源的远程 url,请使用以下命令添加它们:

git remote add upstream <upstream-url>
git remote add origin <origin-url>

最新更新