【git学习笔记】github上fork项目后与原项目保持同步 | 内含命令演示图

写文章的理由

很多人错误的在使用fork,把它当成一种“收藏”功能,这其实并没有什么必要。一来,可以直接用“watching”来关注该项目,当有新的issue,commit,pull request时,你会收到相应的邮件提醒(前提是设置了邮箱)。二来fork的项目只是保留了fork当时的状态,如果项目作者在你fork之后更新了项目,你是看不到的

这就带来一个问题:如何实现fork后的项目与原项目的同步?

下面以我的过程记录与大家分享,github上fork项目后与原项目保持同步的方法。

文章目录

        • 写文章的理由
      • 情景还原
      • 步骤
        • 1.检出自己在github上fork别人的分支到目录下
        • 2.进到 2019-Electronic-Design-Competition [也就是project] 目录下,然后增加远程分支(fork的分支),名为 upstream(名字任意)到本地
        • 3.运行命令:git remote -v, 会发现多出来了一个upstream的远程分支
        • 4.然后把远程原始分支 upstream 的代码拉到本地;
        • 5.合并对方远程原始分支 upstream 的代码
        • 6.最后把最新的代码推送到你的github上(输入用户名以及密码)
        • 7.如果需要给upstream发送Pull Request

情景还原

假设 :

  • 项目来源:https://github.com/zengwangfa/2019-Electronic-Design-Competition
  • fork 项目为:https://github.com/Hyf338/2019-Electronic-Design-Competition

步骤

1.检出自己在github上fork别人的分支到目录下

git clone https://github.com/Hyf338/2019-Electronic-Design-Competition

2.进到 2019-Electronic-Design-Competition [也就是project] 目录下,然后增加远程分支(fork的分支),名为 upstream(名字任意)到本地

git remote add upstream https://github.com/zengwangfa/2019-Electronic-Design-Competition

因为我之前已经添加过了,所以他显示远端已经添加了

【git学习笔记】github上fork项目后与原项目保持同步 | 内含命令演示图_第1张图片

3.运行命令:git remote -v, 会发现多出来了一个upstream的远程分支

git remote -v

upstream分支链接到”zengwangfa“的项目地址

【git学习笔记】github上fork项目后与原项目保持同步 | 内含命令演示图_第2张图片

4.然后把远程原始分支 upstream 的代码拉到本地;

git fetch upstream

【git学习笔记】github上fork项目后与原项目保持同步 | 内含命令演示图_第3张图片

5.合并对方远程原始分支 upstream 的代码

git merge upstream/master

执行完此语句,会合并对方远程分支本地,并显示合并信息

【git学习笔记】github上fork项目后与原项目保持同步 | 内含命令演示图_第4张图片

6.最后把最新的代码推送到你的github上(输入用户名以及密码)

git push origin master

【git学习笔记】github上fork项目后与原项目保持同步 | 内含命令演示图_第5张图片

7.如果需要给upstream发送Pull Request

打开 https://github.com/Hyf338/2019-Electronic-Design-Competition , 点击New Pull Request; 输入Title和功能说明 ; 点击Send pull request。
【git学习笔记】github上fork项目后与原项目保持同步 | 内含命令演示图_第6张图片

此方法需要用到git bash敲命令行,一些命令行的基本操作我之前的博文有学习笔记,可供参考学习,当然,没有这些只是也是可以进行上诉步骤操作的。

  • git学习笔记
  • Linux入门命令
  • Linux进阶命令

你可能感兴趣的:(【git学习笔记】github上fork项目后与原项目保持同步 | 内含命令演示图)