Github上fork项目后与原项目保持同步

其实网上这类似的教程很多,但是由于每个描述不同,大家接受的方式也不同

有时候我们会发现,在几个月前fork来的代码,在原作者更新后,我们享受不到更新带来的便利

一般有两种做法,第一种做法可谓简单粗暴,但却不是最好的做法,说明如下:

1.将自己仓库中原来fork的项目删掉  (delete deletethis repository),然后在重新到原作者仓库中(fork)一份最新代码(不推荐方式

这似乎达到了我们的最终目的,虽然有时候我们做事是为了达到某种目的而不看过程,但不尽然,有时候复杂的的过程

往往会伴随着你意想不到的收获,为什么有人被称之为神(O(∩_∩)O哈哈~,开个玩笑),当然这得看每个人的生活方

式了,总仁者见仁智者见智,这里我不多做赘述。


2.方法是在本地建立两个库的中介,把两个远程库都clone到本地,然后拉取原项目更新到本地,合并更新,最后push到你的github就完成。推荐方式

(1)准备一个本地目录,并克自己fork的项目到本地。

1
$ git clone https://github.com/jp1017/FastAndroid.git

(2)然后cd 进入仓库(这里我直接进入项目根目录下),执行命令:git remote -v

1
$ git remote -v

z

(3)我们可以看到,只有我们自己的远程仓库,下面clone原项目到该仓库

1
2
$ git remote add hunter https://github.com/huntermr/FastAndroid.git
$ git remote -v

z

(4)这个hunter名字随便取哦,这次有两个远程分支咯,我们继续 fetch

然后把原项目更新的内容fetch到本地:git fetch hunter

1
$ git fetch hunter

(5)查看下分支:

1
$ git branch -av

z

(6)一个本地分支master,三个远程分支,画红线的就是要合并的 merge

1
2
$ git checkout master
$ git merge hunter/master

z

push

1
$ git push -u origin master

(7)merge后本地的仓库已经是最新的咯,然后push到你的github就同步完成。


1.可能使用到的一些git命令

检查本地仓库git状态   git status
添加仓库修改            git add . (添加所有修改)  / git add ~/file(添加具体文件)
确认提交修改                git commit 这里会出现一个面板,里边主要用来说明本次修改的相关信息
检查更新                       git checkout
将对本地仓库的修改提交到github仓库 git push -u origin master

猜你喜欢

转载自blog.csdn.net/huoyongliang/article/details/80845981