文档章节

指南:在Github和Git上如何Fork

l
 linux小陶
发布于 2017/03/29 20:40
字数 1482
阅读 13
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

以我的经验来看,刚接触Git和GitHub时,最困扰的一件事情就是尝试解决下面的问题:在Git和GitHub上,我能做什么?

Git教程往往不会解决这个问题,因为它集中篇幅来教你Git命令和概念,并且不认为你会使用GitHub。GitHub帮助教程一定程度上弥补了这一缺陷,但是它每篇文章的关注点都较为狭隘,而且没有提供关于"Git vs GitHub"问题的概念性概述。

如果你是习惯于先理解概念,再着手代码的学习者,而且你也是Git和GitHub的初学者,我建议你先理解清楚什么是fork。为什么呢 ?

  1. Fork是在GitHub起步最普遍的方式。
  2. Fork只需要很少的Git命令,但是起得作用却非常大。
  3. Fork提供了对Git和GitHub最基础的了解,有益于你之后的工作。

本篇指南使用两张简单的图表,来教会你fork的两种主要工作流程。我并不打算涉及任何代码,但是在结论中,我会把你需要使用的代码的链接给你。

fork并且更新一个仓库

现在有这样一种情形:有一个叫做Joe的程序猿写了一个游戏程序,而你可能要去改进它。并且Joe将他的代码放在了GitHub仓库上。下面是你要做的事情:

指南:在Github和Git上如何Fork指南:在Github和Git上如何Fork

fork并且更新GitHub仓库的图表演示

  1. Fork他的仓库:这是GitHub操作,这个操作会复制Joe的仓库(包括文件,提交历史,issues,和其余一些东西)。复制后的仓库在你自己的GitHub帐号下。目前,你本地计算机对这个仓库没有任何操作。
  2. Clone你的仓库:这是Git操作。使用该操作让你发送"请给我发一份我仓库的复制文件"的命令给GitHub。现在这个仓库就会存储在你本地计算机上。
  3. 更新某些文件:现在,你可以在任何程序或者环境下更新仓库里的文件。
  4. 提交你的更改:这是Git操作。使用该操作让你发送"记录我的更改"的命令至GitHub。此操作只在你的本地计算机上完成。
  5. 将你的更改push到你的GitHub仓库:这是Git操作。使用该操作让你发送"这是我的修改"的信息给GitHub。Push操作不会自动完成,所以直到你做了push操作,GitHub才知道你的提交。
  6. 给Joe发送一个pull request:如果你认为Joe会接受你的修改,你就可以给他发送一个pull request。这是GitHub操作,使用此操作可以帮助你和Joe交流你的修改,并且询问Joe是否愿意接受你的"pull request",当然,接不接受完全取决于他自己。

如果Joe接受了你的pull request,他将把那些修改拉到自己的仓库。胜利!

同步一个fork

Joe和其余贡献者已经对这个项目做了一些修改,而你将在他们的修改的基础上,还要再做一些修改。在你开始之前,你最好"同步你的fork",以确保在最新的复制版本里工作。下面是你要做的:
指南:在Github和Git上如何Fork指南:在Github和Git上如何Fork

同步GitHub fork的图表示意图

  1. 从Joe的仓库中取出那些变化的文件:这是Git操作,使用该命令让你可以从Joe的仓库获取最新的文件。
  2. 将这些修改合并到你自己的仓库:这是Git操作,使用该命令使得那些修改更新到你的本地计算机(那些修改暂时存放在一个"分支"中)。记住:步骤1和2经常结合为一个命令使用,合并后的Git命令叫做"pull"。
  3. 将那些修改更新推送到你的GitHub仓库(可选):记住,你本地计算机不会自动更新你的GitHub仓库。所以,唯一更新GitHub仓库的办法就是将那些修改推送上去。你可以在步骤2完成后立即执行push,也可以等到你做了自己的一些修改,并已经本地提交后再执行推送操作。

比较一下fork和同步工作流程的区别:当你最初fork一个仓库的时候,信息的流向是从Joe的仓库到你的仓库,然后再到你本地计算机。但是最初的过程之后,信息的流向是从Joe的仓库到你的本地计算机,之后再到你的仓库。

结论

我希望这是一篇关于GitHub和Git 的 fork有用概述。现在,你已经理解了那些概念,你将会更容易地在实际中执行你的代码。GitHub关于fork和同步的文章将会给你大部分你需要的代码。

如果你是Git的初学者,而且你很喜欢这种学习方式,那么我极力推荐书籍Pro Git的前两个章节,网上是可以免费查阅的。

如果你喜欢视频学习,我创建了一个11部分的视频系列(总共36分钟),来向初学者介绍Git和GitHub。

via: http://www.dataschool.io/simple-guide-to-forks-in-github-and-git/

作者:Kevin Markham 译者:su-kaiyao 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

原文来自:https://linux.cn/article-4292-1.html

本文地址: http://www.linuxprobe.com/fork-github-git.html

本文转载自:http://www.linuxprobe.com/fork-github-git.html

l
粉丝 3
博文 237
码字总数 46480
作品 0
深圳
运维
私信 提问
深入理解学习git工作流

个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心中的困惑迎刃而解,于是我将这部分资料进行整理放到了github上,欢...

xirong
2015/06/18
5
0
[译] 为 GitHub 项目做出贡献的初学者指南

原文地址:The beginner's guide to contributing to a GitHub project 原文作者:Rob Allen 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:sophia 校对者:maoqyhz...

sophia_
2018/06/23
0
0
如何使用Eclipse在Github上开发使用Java8的Maven项目?

1、我们使用的版本是Eclipse4.4.2 for JavaEE Web Developers,支持Java8,安装的JDK需要1.8: 2、我们先点击菜单中的File -> Import...,然后选择Git -> Projects from Git,从Git数据源导入...

杨尚川
2015/04/18
2.6K
3
[face_recognition中文文档] 第5节 特约贡献

Contributing特约贡献 欢迎贡献,非常感谢!每一点帮助,都是肯定。你可以在许多方面做出贡献: 贡献类型 报告错误 在https://github.com/ageitgey/face_recognition/issues上报告错误。 如果...

kangvcar
2017/10/27
194
0
开源 GitHub 权威介绍--GotGitHub

GotGitHub 是 GitHub 的详细完整的权威介绍。 这是一本关于GitHub的书,在线阅读请访问: http://www.worldhello.net/gotgithub 。 动笔写GitHub不是因为我对其了解,恰恰是对其太不了解。在...

叶秀兰
2014/11/14
5.5K
0

没有更多内容

加载失败,请刷新页面

加载更多

ForkJoinPool线程池

1. 拆分线程池的使用场景是什么? 答: 是对一组连续的数据进行耗时操作,例如 一个 大小为 10000 的集合 进行操作。 例子: 对1000万个数据进行排序,那么会将这个任务分割成两个500万的排序...

杨凯123
3分钟前
1
0
在多列上使用group by

我理解GROUP BY x的观点 但GROUP BY x, y如何运作的,它是什么意思? #1楼 Group By X表示将所有具有相同X值的组合放入一组中 。 Group By X, Y表示将所有具有相同值的值放在一个组中的X和Y...

技术盛宴
19分钟前
2
0
线程池ThreadPoolExecutor的内部类Worker的感想和思考

Worker依然是一个Runnable,封装了一个创建自己的原因对象,就是firstTask变量,和自己将要执行的所在线程thread变量。 thread成员变量可以直接被外部类ThreadPoolExecutor所获得,当调用add...

萧默
58分钟前
2
0
Git推送错误“ [[远程拒绝]主机->主机(分支当前已签出)”)

昨天,我发布了一个有关如何将Git存储库从我的一台计算机克隆到另一台计算机的问题 , 如何从另一台计算机“ git clone”? 。 现在,我可以成功地将Git存储库从源(192.168.1.2)克隆到目标...

javail
今天
4
0
Selenium 4.0 Alpha更新日志

早在2018年8月,整个测试自动化社区就发生了一件重大新闻:Selenium的创始成员Simon Stewart在班加罗尔Selenium会议上正式确认了Selenium 4的发布日期和一些重要更新。 Selenium 4.0 Alpha版...

八音弦
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部