美文网首页
github详解一:保持fork库与主库同步

github详解一:保持fork库与主库同步

作者: develop_bl | 来源:发表于2019-06-16 20:32 被阅读0次

背景

工作中需要用到git进行代码管理, 每个项目成员都需要fork出自己库,然后在前端网页上发起Merge Request才能提交到主库上去;这种方式有个问题就是自己fork的库怎么与主库保持同步,github并没有提供一个机制。通过两种方法可以完成。

 第一种, 反向 pull request (页面操作)

首先,创建pull request。由于我从来没在fork库上提交过代码,所以这里显示没有任何东西用于比较

创建pull request

然后,反向设置。注意这里反向设置的时候,通过一个中间版本库过度(两边的版本库相同的话,版本库会被合并处理,导致无法设置),思路类似交换两个变量的值,需要中间变量temp。

pull request 反向

值得注意的是,提醒这是一次big comparision,因为我很久没有与主库同步了。

然后,填写主题,生成pull request。

最后,自己的fork库自己做主,作为committer,毫无疑问Merge啦。至此,主库之前的修改全部合并到fork库。

点击 merge pull request  查看pull request记录

第二种,配置upstream指向fork的原仓库

1、查看现有的远程仓库:

$ git remote -v

origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)

origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)

2、添加指向原仓库的upstream:

$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

3、查看origin和upstream

$ git remote -v

origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)

origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)

upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)

upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

4、直接从原仓库的master分支拉取代码并直接合并代码,其中pull=fetch+merge.

git pull upstream master

5、至此,本地库已经和原仓库已经完全同步。但是注意,此时只是你电脑上的本地库和远程的github原仓库同步了,你自己的github仓库还没有同步,此时需要使用“git push”命令把你本地的仓库提交到github中

参考

1  配置upstream指向fork的原仓库  

https://blog.csdn.net/starter_____/article/details/79321962

2 廖雪峰的git教程

https://www.liaoxuefeng.com/wiki/896043488029600/897884457270432

3 可参考GithubHelp的 Configuring a remote for a fork 和 Syncing a fork

相关文章

网友评论

      本文标题:github详解一:保持fork库与主库同步

      本文链接:https://www.haomeiwen.com/subject/dutnfctx.html