为了工作,我必须参加各种项目,所以我很了解我的所有同事的工作方式。 我记得在我到达之前的几周,该公司就开始使用Git。 在开发人员的监视器上,周围悬挂着提醒,它们是:先添加,然后提交,然后推送。
他们不知道为什么。 只是被告知程序员必须严格遵循说明,否则会造成麻烦。 但是问题经常出现,所以我决定举办一个Git研讨会。
主意
我喜欢在脑海中绘制地图。 我不说“心理图”,因为它是一种众所周知的图。 它与头脑中的某些图片,结构或任何图形表示有关。 例如,小时候,我通过引入骰子来学习算术。
所以我准备了一些图纸。 不必看着他们理解文本。 每个人都有一个解释。
此外,教人称谓非常重要。 否则,他将无法理解来自Git的消息。 画画是个好方法。
分布式版本控制系统

在图中,四个区域分布如下:
在这里,您可以解释分布式版本控制系统的好处。
储存库克隆

克隆时,来自远程存储库的数据将移至两个区域:
更改工作目录

工作目录中有两种文件类型:
- 已跟踪 :Git知道的文件。
- Untraceable :尚未添加,因此Git不了解它们。
更新远程存储库

在
工作目录中准备好更改后
,必须将其添加到暂存区域。
当有一个共同目标的大量变更在那里累积时,是时候在
本地存储库中创建带有有关此目标的消息的提交。
如果
本地存储库中有一个或多个提交准备好与世界其他地方共享,则将它们发送到
远程存储库 。
在这一点上,我们可以讨论开发环境中文件的各种状态:
Modifyed ,
中级 (暂存)和
fixed (已提交)。

进一步,您可以解释:
- :
git diff
- :
git diff --staged
- . .
(fetching)

git fetch
.
(pulling)

git pull
:
,
git pull --rebase
.
fetch + merge
fetch + rebase
. ,
.

, :
.
, : , , , .
(Visual SourceSafe, TFS Subversion): , , . , .
,
Git .
Hacker News:
Reddit, ,
«, Git», , , Git
Pro Git. , . , . !
, Hacker News,
u/cryptoz, Reddit!