最近在GitHub上fork了别人的一个项目,是关于flutter学习的一个项目,Git地址如下:
https://github.com/simplezhli/flutter_deer.git
,但是如果作者在这个项目上新增了一下功能,我fork到我自己GitHub上的项目如何保持同步的更新呢?
只需要下面三步:
- 把fork的项目克隆到本地仓库中
- Configuring a remote for a fork
- Syncing a fork
下面第一次操作:
1. 把fork的项目克隆到本地仓库中
git clone 我自己fork的大佬的项目的GitHub地址
这样完成之后,就会发现我的本地仓库中多了一个flutter的文件夹。说明已经成功把仓库克隆到本地了。
2. Configuring a remote for a fork
- 给当前仓库( fork )配置一个 remote
- 主要使用
git remote -v
查看远程状态。
git remote -v
- 添加一个将被同步给 fork 远程的上游仓库
git remote add upstream https://github.com/simplezhli/flutter_deer.git
这里后面的那个地址就是你fork的项目的源地址。
- 再次查看状态确认是否配置成功。
git remote -v
下面会多出两个upstream,说明第二步已经成功了。这就相当于有一个管道在源项目和你fork的项目之间建立了,下面看看如何通信更新。
3. Syncing a fork
- 从上游仓库 fetch 分支和提交点,传送到本地,并会被存储在一个本地分支 upstream/master
git fetch upstream
/// 切换到本地主分支
git checkout master
- 把 upstream/master 分支合并到本地 master 上,这样就完成了同步,并且不会丢掉本地修改的内容。
git merge upstream/master
由于我是刚刚fork的,肯定是最新的项目了,所以提示Already up to date. 如果源项目有更新而你fork的项目没更新的话,这里就会显示不同了。
4. 这样,就把源项目同步更新到你的本地仓库中了。 如果再想更新到远程仓库fork,只需要:
git push origin master
实操截图:
![](https://img.haomeiwen.com/i293993/49f8528286d648c3.png)
网友评论