如何保持github上fork的项目与原项目同步

如何保持github上fork的项目与原项目同步

最近在github上贡献源码修改的场合,碰见一个比较棘手的问题:fork开源代码到自己git空间上,在解决新的issue时,需要同步最新的代码到自己fork代码,继续在基础上开发,下面就介绍一下几种常见的方法:

  1. 删除原有项目,在重新fork。(这个比较耗费时间)
  2. 在电脑本地同时git clone原项目和fork项目,用git pull更新,然后对比,再git push到github上个人代码库。(也比较繁琐)
  3. 本地git clone已fork的项目,然后添加远程库为原项目地址。(注意点:要有项目访问权限)
  4. windows下的 github for desktop客户端.

删除原有项目,在重新fork

方法如下:

  1. 点击已fork的repo内(注意是进入自己copy别人的repo页面,而不是原作者的页面)
  2. 点击settings的options
  3. 页面拉到最底,在Danger Zone直接delete this repository即可。需要输入repo的名字才能确认删除,这一步实际上就是取消fork了。

使用远程代码库方式:

  1. 首先先通过 github 的 web 页面 fork 目标的项目, 前提是自己已经设置好了git,并且配置了相应的权限.
  2. 使用git clone命令在本地克隆自己 fork 的项目: git clone https://github.com/YOUR-USERNAME/project—name
  3. 需要复制被自己fork的项目的git地址,切换到自己之前克隆的项目的路径下,使用:git remote -v就可以看到当前项目的远程仓库配置
  4. 使用下面的命令: git remote add upstream 原始项目仓库的git地址
  5. 如果你继续使git remove -v命令查看的话,就会发现这个时候已经和原始的被fork的项目产生了关联。
  6. 保持项目同步的话,使用下面的命令:
  7. git fetch upstream
  8. git merge upstream/master

 

 

 

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 如何保持github上fork的项目与原项目同步