如何更新或同步GitHub上分叉的仓库?

发布时间 2023-10-15 00:21:35作者: 小满独家

内容来自 DOC https://q.houxu6.top/?s=如何更新或同步GitHub上分叉的仓库?

我分叉了一个项目,做出了修改,然后创建了一个被接受的pull request。后来有新的提交被添加到了仓库中。我该如何将这些提交合并到我的分叉中?


在你的本地克隆的分叉仓库中,你可以将原始的GitHub仓库添加为“远程”。(“远程”是仓库URL的昵称 - 例如origin。)然后你可以从那个上游仓库获取所有分支,并将你的工作重新基于上游版本继续进行。在可能看起来像这样命令的情况下:

# 添加远程,将其称为“上游”:

git remote add upstream https://github.com/whoever/whatever.git

# 将所有该远程分支拉取到远程跟踪分支中

git fetch upstream

# 确保你在主分支上:

git checkout master

# 重写你的主分支,以便任何没有在upstream/master中的提交都会在该分支之上重播:

git rebase upstream/master

如果你不想重写主分支的历史记录(例如因为其他人可能已经将其克隆),那么你应该用 git merge upstream/master 替换最后一个命令。然而,为了尽可能干净地进行进一步的拉取请求,最好使用rebase。


如果你已经基于upstream/master重写了你的分支,你可能需要强制推送以便将其推送到自己在GitHub上的分叉仓库。你会这样做:

git push -f origin master

只有在你重写后第一次需要使用 -f