分享

GitHub 到底为啥这么受欢迎?我们为你整理了一份使用攻略

 heii2 2018-08-27

作者:Siraj Raval 

翻译:雷锋字幕组 于志鹏  朱海振

来源:雷锋网



 

1. 什么是 Git 协议


你可能会发现 GitHub 有个很鲜明的特色,它允许开发者通过一个共享界面实现合作,在这里你可以以你认为好的方式修改他人的开放代码,也可以邀请他人来协助你完善你的。这种合作就像特斯拉公司要发布一辆新车型,他们会用一年时间来请负责每个部分的小组进行设计、协调并与其它小组设计的新特征保持同步,从而实现设计的最优化。这是一个充分发挥民主的过程。

 


那你可能会疑惑,是什么驱使世界各地的开发者互相协作,并且一旦发生问题,是否有可能修改或还原呢?


答案很简单,因为使用了 Git 协议存储代码库。


十几年前,大名鼎鼎的程序员 Linus Torvalds 正忙于构建一个操作系统,并且与其它开发者一起不断修改代码,因此他需要一个方式去追踪代码是如何随着时间更改的,这样一旦发生问题可以很轻易的回到之前的版本。


一般来说我们会不断地保存副本并重命名,我想你写论文也碰见过这种情况:一稿、二稿…绝不修改版本…再次修改版本…这简直是噩梦,所以 Linus 写了 Git 协议,用来提供项目最新的注释合集和按时间排序的代码更改历史。直到现在,Git 协议几乎是每一个现代开发工作流的核心。


2. 如何理解 Git 协议中的指令


Git 协议中有大量指令,当你第一次试着去理解的时候它的结构可能令人费解。不过我们还是以特斯拉公司为例。



我们需要研发新车型,事实上在给定的任意时间我们存在四个版本的设计:


  1. 实时版本,也就是消费者熟悉的在售现行版本;

  2. 计划中明年版本,只要所有小组同意,这个版本将成为新的实时版本,它代表着远程数据库,储存了我们最新的优化后的设计版本;

  3. 最新版本充分考虑了其他小组的建议,但还未向其他小组展示并获得许可,它代表本地库;

  4. 开发中版本,它需要进一步的内测和审核,这是一个缓存区。


每个阶段都对应着不同层次的贡献,对代码来说也是一样,我们的代码在落地前必须经历四个阶段,每个阶段都进一步降低了与其它小组相冲突的风险。


Git 协议中还有一个声明,表示我们完成了一个完整的设计并且我们对它十分满意,Git 协议中的提交意味着即使还需要测试和审核,我们仍然对自己的设计充满信息,并且已经对它进行了所有标准化的测试。


3. Git 协议如何运作


一旦我们准备好将我们的设计展示给其他人,就可以将我们的设计从本地库复制到远程存储库中,在 Git 协议中我们可以使用 push 指令,过程存储库保存在云端,本地库则保存在我们的电脑上。一旦所有人都表示满意,我们就可以将它部署到我们的网站或手机应用上。



在生产中,这实际上不是一个 Git 指令而是代表着从实际版本到生产的过程。


事实上我们可能为每个新版本都建立了存储库,但因为他们都很多共同点,我们可以只为每个版本建立分支,分支可以让我们基于相同的代码库保持多个版本。如果使用后发现在现有版本中加入某个特征会更好,我们就可以用 merge 指令来整合两个分支。


加入有人推送了一个新的特征或代码到远程存储库中,我们可以通过 Git 协议中的 pull 指令提取新特征到我们的本地库。如果这个新特征与我们的存储库冲突,我们可以让代码恢复到改变前的状态,或者调整推送一个更新的版本到远程存储库。


Git 协议可以帮我们追踪并快速定位冲突,使得优化和修复都更加简单。


4. 如何使用 Github


我们已经知道 Github 使用了 Git 协议,我们继续建立自己的存储库,在完成注册后然后将它存在 Github 上,这里相当于一个开发者的社交网络平台,我们可以下载最新的 Git 协议。



我们通过在 Github.com 上使用 git config 指令确定自己的用户名和邮箱,然后就可以通过在命令行使用 git init 指令建立自己的本地 Git 库。可以新建一个代码文件夹,并且通过直接把更改添加到缓存区来将其添加到 Git。


每一个开发者只负责自己的分支,我们可以在本地匹配他们,然后提交方案,不同的提交来自于不同的分支,所有分支逐渐导向 master 节点,这也是为什么 Git 会呈现树形结构。


来源:油管 Artificial Intelligence Education 专栏

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多