转载

闯过这 54 关,点亮你的 Git 技能树 (一)

上一篇介绍了学习 Git 的好工具,如果你没有看过,请先阅读:

闯过这 54 关,点亮你的 Git 技能树

今天我将带大家完成前十关。第一关在前文中已经完成,我们从第二关开始吧。如对任何命令有疑问请看第一篇里的推荐教程。

第二关

闯过这 54 关,点亮你的 Git 技能树 (一)

根据提示,我们要配置「用户名」和「邮箱」,为什么呢?你的代码提交后,特别是提交到开源社区,被别人看到,人家觉得这个代码写的真牛,想给你一个工作机会,怎么联系你?

通常,我们在 IDE 里创建一个新文件,IDE 都会自动加上日期,作者,邮箱等信息。其实我认为这都是过时的传统了,现在我们喜欢尽量保持源代码干净。

像创建日志,作者,邮箱这些信息都应该交给版本控制系统来记录。

当然如果你代码写的很烂的话就要小心了,别人 git blame 一下就可以问候你的家人了。

具体怎么过关过程如下:

闯过这 54 关,点亮你的 Git 技能树 (一)

第三关

闯过这 54 关,点亮你的 Git 技能树 (一)

第四关

闯过这 54 关,点亮你的 Git 技能树 (一)

第五关

闯过这 54 关,点亮你的 Git 技能树 (一)

第六关

闯过这 54 关,点亮你的 Git 技能树 (一)

第七关

这一关对于不了解 Vim 的同学可能有一点麻烦。这里也是一个很贴近实际的场景,用 Vim 编辑文件的时候,会产生一个 .swp 文件,这个文件的作用是:在你不小心退出了 Vim 或 Vim 自己崩溃后,再次编辑这个文件,就会提示你存在一个 .swp 文件,询问是否恢复。

它属于临时文件,显然不应该被提交到 VCS 里去。所以 Git 有一个机制让我们可以忽略某些文件。

闯过这 54 关,点亮你的 Git 技能树 (一)

第八关

这一关是上一关的延伸,忽略某类文件,但排除其中特定的一个。

闯过这 54 关,点亮你的 Git 技能树 (一)

根据提示来看一下帮助 git gitignore --help ,输入 /negate 进行搜索,一下就定位到下面这一段:

闯过这 54 关,点亮你的 Git 技能树 (一)

根据帮助我们知道了,可以用 ! 来对模式取反。

所以我们编辑 .gitignore ,追加如下两行:

*.a !lib.a

成功过关!

闯过这 54 关,点亮你的 Git 技能树 (一)

第九关

git status 是一个非常常用的命令,插一句题外话:我给它配一个别名 gst ,这样敲起来就非常方便。

闯过这 54 关,点亮你的 Git 技能树 (一)

第十关

这两关都是考察基本概念,一个文件的几种状态:

  • untracked - 新增的文件,Git 根本不知道它的存在

  • not staged - 被索引过又被修改了的文件

  • staged - 通过 git add 后被即将被提交的文件

闯过这 54 关,点亮你的 Git 技能树 (一)

这里一看状态就知道了,如果现在执行 git commit ,只有最上面的两个文件会被 commit。

闯过这 54 关,点亮你的 Git 技能树 (一)

今天就先到这里,如有任何疑问欢迎到 「这里」 与我讨论!

正文到此结束
Loading...