更新fork仓库的代码

更新fork仓库的代码

比如从alibaba/flutter_boost fork了项目到uquabc/flutter_boost

1. 更新已有分支

比如两个仓库都有master分支,现在想把这个分支代码更新到最新,可以参考github上fork了别人的项目后,再同步更新别人的提交

2. 更新uquabc/flutter_boost上不存在的分支

比如alibaba/flutter_boost上新出的v1.12.13-hotfixes分支,在uquabc/flutter_boost上并不存在,就没法用第一种方式了。

这篇文章有详细解释如何保持 GitHub Fork 项目同步

我的做法稍微有点不一样,这里记录下:

2.1 添加远程项目地址

首先查看已有的远程仓库

$ git remote -v
origin	[email protected]:uquabc/flutter_boost.git (fetch)
origin	[email protected]:uquabc/flutter_boost.git (push)

添加alibaba/flutter_boost到远程仓库,并命名为upstream

$ git remote add upstream https://github.com/alibaba/flutter_boost.git

// 再次查看
$ git remote -v
origin	[email protected]:uquabc/flutter_boost.git (fetch)
origin	[email protected]:uquabc/flutter_boost.git (push)
upstream	https://github.com/alibaba/flutter_boost.git (fetch)
upstream	https://github.com/alibaba/flutter_boost.git (push)

2.2 更新代码

首先从upstream获得更新

$ git fetch upstream

查看所有分支

$ git branch -a

//结果:
...
remotes/upstream/v1.12.13-hotfixes   //这是我们想要的分支
...

切换到upstream/v1.12.13-hotfixes

$ git checkout upstream/v1.12.13-hotfixes

然后在这个分支基础上新建一个本地分支

$ git branch v1.12.13-hotfixes

提交本地分支

$ git push --set-upstream origin v1.12.13-hotfixes

这样就把新分支提交到本地项目里了

题外话

如果想移除upstream仓库,使用如下命令

$ git remote rm upstream

你可能感兴趣的:(git)