在创建新分支之前,我做了:
git fetch upstream
git checkout master
git rebase upsteam/master
git push origin master
所以现在我的本地和我的远程起源与上游最新。 我创建了一个新分支:
git checkout -b fix
在此工作了几天,几次提交。在将其推送到我的原点并请求拉取请求之前,我该怎么办?在上游/主分支上完成了工作。我应该再次获取和重新定位吗?
答案 0 :(得分:1)
我建议这样做,是的。它将确保没有新的冲突,并且您的更改可以使用最新的上游代码。这通常也会增加合并的可能性,尤其是在存在合并冲突的情况下。
您不一定要更新主分支。您可以直接在fix
分支
git pull --rebase upstream/master
然后解决潜在的冲突,重新测试您的更改,然后推送并打开拉取请求。
答案 1 :(得分:0)
您需要合并upstream/master
。只需确保与upstream/master
没有冲突,您的分支(fix
)就会更新。现在将您的分支推送到远程(origin/fix
)并创建一个拉取请求。
$ git fetch upstream
$ git pull upstream master
$ git pull origin master
$ git push origin HEAD
答案 2 :(得分:0)
对于 origin 远程,您可以直接推送修复分支(git push origin fix
),如果要将修复分支合并到主分支中,也可以创建PR。
对于上游远程,如果上游/主站更新,则源/主站不会自动更新。如果您希望origin / fix分支基于上游/主分支的顶部,您应该执行:
git checkout fix
git pull upstream master --rebase
这将使fix分支位于上游/主分支的顶部。
如果第一个PR尚未批准,您只需要使用git push origin fix
推送到原点,PR将自动包含来自上游/主分支的更改。