阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

指南:在Github和Git上如何Fork

33次阅读
没有评论

共计 2071 个字符,预计需要花费 6 分钟才能阅读完成。

导读 以我的经验来看,刚接触 Git 和 GitHub 时,最困扰的一件事情就是尝试解决下面的问题:在 Git 和 GitHub 上,我能做什么?本篇指南使用两张简单的图表,来教会你 fork 的两种主要工作流程。我并不打算涉及任何代码,但是在结论中,我会把你需要使用的代码的链接给你。

以我的经验来看,刚接触 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

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 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 中国 荣誉推出

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计2071字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中