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

上一篇介绍了学习 Git 的好工具,若是你没有看过,请先阅读:
闯过这 54 关,点亮你的 Git 技能树git

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

第二关

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

一般,咱们在 IDE 里建立一个新文件,IDE 都会自动加上日期,做者,邮箱等信息。其实我认为这都是过期的传统了,如今咱们喜欢尽可能保持源代码干净。
像建立日志,做者,邮箱这些信息都应该交给版本控制系统来记录。
固然若是你代码写的很烂的话就要当心了,别人 git blame 一下就能够问候你的家人了。工具

具体怎么过关过程以下:
学习

第三关

第四关

第五关

第六关

第七关

这一关对于不了解 Vim 的同窗可能有一点麻烦。这里也是一个很贴近实际的场景,用 Vim 编辑文件的时候,会产生一个 .swp 文件,这个文件的做用是:在你不当心退出了 Vim 或 Vim 本身崩溃后,再次编辑这个文件,就会提示你存在一个 .swp 文件,询问是否恢复。
它属于临时文件,显然不该该被提交到 VCS 里去。因此 Git 有一个机制让咱们能够忽略某些文件。
spa

第八关

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

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

根据帮助咱们知道了,能够用 ! 来对模式取反。
因此咱们编辑 .gitignore,追加以下两行:版本控制

*.a
!lib.a

成功过关!
日志

第九关

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

第十关

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

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

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

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


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

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

「软件匠艺社区」旨在传播匠艺精神,经过分享好的「工做方式」和「习惯」以帮助程序员更加快乐高效地编程。

相关文章
相关标签/搜索