如何优雅地向别人介绍高端大气上档次的Git

栏目: 编程工具 · 发布时间: 6年前

内容简介:本文主题是如何向工具初学者介绍分布式版本控制系统 Git。除了了解关于 Git 的基本知识以外,大家还可以学到一些工具学习方面的东西。我的一些职业经历涉及跨职能领域,因此我了解所有同事的工作方式。我记得有一家公司在我加入的几周前才开始使用 Git。

本文主题是如何向 工具 初学者介绍分布式版本控制系统 Git。除了了解关于 Git 的基本知识以外,大家还可以学到一些工具学习方面的东西。

如何优雅地向别人介绍高端大气上档次的Git

我发现的问题

我的一些职业经历涉及跨职能领域,因此我了解所有同事的工作方式。我记得有一家公司在我加入的几周前才开始使用 Git。

我用三步把 post-it 放到屏幕上:第一步是 add,第二步是 commit,第三步是 push。

如何优雅地向别人介绍高端大气上档次的Git

他们不知道为什么要用这三步,他们只知道为了防止发生其他问题,他们应该遵循这三个步骤。但是问题还是频频发生,所以我决定准备一个关于 Git 的讨论会。

想法

我喜欢在头脑中绘图。我不写「思维导图」,因为它们是众所周知的图像形式。而我所说的「图」是一种大脑中的有框架、结构化或其他形式的图像表征。例如,我在头脑中想象骰子来学习加法。

所以我准备了一些图。理解这篇文章不一定需要看懂这些图。但出于可访问性,我对每一张图都作出了解释。在这种情况下,词汇的教学就非常重要了。否则他们无法理解来自 Git 的信息。这些图是一种很好地向他们介绍词汇的方式。

分布式版本控制系统

概括图包括四部分,分别是:

开发环境中的:

  • 工作区

  • 暂存区或索引

  • 本地版本库

服务器中的:

  • 远程版本库

到那个时候,你就可以解释分布式版本控制系统的好处了。

复制版本库

如何优雅地向别人介绍高端大气上档次的Git

在复制版本库时,远程版本库中的数据要传递到两个区域:

  • 工作区

  • 本地版本库

在工作区中进行更改

如何优雅地向别人介绍高端大气上档次的Git

工作区中有两类文件:

  • 追踪文件:Git 知道的文件。

  • 未追踪文件:因为尚未添加因此 Git 不知道的文件。

更新远程版本库

如何优雅地向别人介绍高端大气上档次的Git

当工作区更改就绪时,必须先把它们添加到暂存区中。当暂存区中有一组特定的更改时,我们就需要在本地库中创建带有这些特定信息的 commit。

当本地版本库中有一或多个准备和世界其他地方共享的 commit 时,我们必须把它们 push 到远程版本库中。这时,开发环境中的文件状态已经有所不同了:已修改、已暂存和已提交(modified, staged and committed)。

如何优雅地向别人介绍高端大气上档次的Git

此外,你还可以解释:

  • 如何显示工作区的文件更改:git diff

  • 如何显示暂存区的文件更改:git diff –staged

  • 在将文件添加到暂存区后,如何在工作区中更改文件

  • 等等

更新开发环境

抓取(fetch)

如何优雅地向别人介绍高端大气上档次的Git

执行 git fetch 后,远程库中的数据将仅传递到本地库中。

Pulling

如何优雅地向别人介绍高端大气上档次的Git

当执行 git pull 后,远程库中的数据会传输到两个区域:

  • 本地库:抓取(fetch)

  • 工作区:合并(merge)

你可以用 git pull—rebase 查看 commit 历史。它是由 fetch + rebase 而不是 fetch + merge 组成的。它将会重新执行你的本地提交,而且你无法看到提交历史中已知的 diamond shape。

如何优雅地向别人介绍高端大气上档次的Git

下一步

你可以在开发环境中添加另一个区域来解释暂存区:dirty work directory。

如果人们将这些概念内化,他们就可以建立坚实的基础,从而更容易地使用分支、提交历史以及衍合(rebasing)等。

温馨提示

我也曾用过其他版本控制系统(Visual SourceSafe、TFS 和 Subversion),以我的个人经验来讲,缺乏知识对于使用旧工具和新工具而言都有害。我们不仅仅要选择工具,还要掌握工具。

拓展阅读:https://git-scm.com/book/en

原文地址:https://rachelcarmena.github.io/2018/12/12/how-to-teach-git.html


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网络、群体与市场

网络、群体与市场

大卫·伊斯利(David Esley)、乔恩·克莱因伯格(Jon Kleinberg) / 李晓明、王卫红、杨韫利 / 清华大学出版社 / 2011-10-1 / CNY 69.00

过去十年来,现代社会中复杂的连通性向公众展现出与日俱增的魅力。这种连通性在许多方面都有体现并发挥着强大的作用,包括互联网的快速成长、全球通信的便捷,以及新闻与信息(及传染病与金融危机)以惊人的速度与强度传播的能力。这种现象涉及网络、动机和人们的聚合行为。网络将人们的行为联系起来,使得每个人的决定可能对他人产生微妙的后果。 本书是本科生的入门教材,同时也适合希望进入相关领域的高层次读者。它从交......一起来看看 《网络、群体与市场》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器