Git 同步上游仓库
当我们 fork 仓库后可能会需要与上游仓库同步,最简单的方法是点击 fork 仓库主页的 Sync fork
-> Update branch
,但也可以使用 git
:
-
请先使用
git clone
将 fork 仓库克隆到本地,然后运行git remote -v
查看本地的远程仓库:$ git remote -v origin https://github.com/YOU/FORK.git (fetch) origin https://github.com/YOU/FORK.git (push)
-
如果没有
upstream
,添加上游仓库(本文为https://github.com/OWNER/ORIGINAL.git
):git remote add upstream https://github.com/OWNER/ORIGINAL.git
-
再次查看本地的远程仓库:
$ git remote -v origin https://github.com/YOU/FORK.git (fetch) origin https://github.com/YOU/FORK.git (push) upstream https://github.com/OWNER/ORIGINAL.git (fetch) upstream https://github.com/OWNER/ORIGINAL.git (push)
-
运行
git fetch upstream
获取上游仓库的提交:$ git fetch upstream remote: Enumerating objects: 5, done. remote: Counting objects: 100% (5/5), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. From https://github.com/OWNER/ORIGINAL * [new branch] main -> upstream/main
-
切换到准备与上游仓库同步的分支(本文为
main
):$ git checkout main Switched to branch 'main'
-
将上游仓库的 commit 合并到本地分支:
$ git merge upstream/main Updating 141fa1c..dfe3645 Fast-forward README.md | 2 ++ 1 file changed, 2 insertions(+)
-
如果需要,将本地分支推送到 fork 仓库:
$ git push origin main Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 To https://github.com/YOU/FORK 141fa1c..dfe3645 main -> main
完成!
相关文章:
参考: