将我的拉取请求与其他人同步提交一些更改 - Github
Sync my Pull request with someone else commit some changes - 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
命令检查状态。如果所有文件都显示为绿色,则表示它们已解决,您现在可以继续进行变基。 运行 下面的命令用于继续你的 rebase:
git rebase --continue
完成后,只需使用以下命令将更改推送到您的分叉仓库:
git push -f origin master
注意: 如果您没有设置上游和来源的远程 url,请使用以下命令添加它们:
git remote add upstream <upstream-url>
git remote add origin <origin-url>
我发送了一个 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
命令检查状态。如果所有文件都显示为绿色,则表示它们已解决,您现在可以继续进行变基。 运行 下面的命令用于继续你的 rebase:
git rebase --continue
完成后,只需使用以下命令将更改推送到您的分叉仓库:
git push -f origin master
注意: 如果您没有设置上游和来源的远程 url,请使用以下命令添加它们:
git remote add upstream <upstream-url>
git remote add origin <origin-url>