闖過這 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。

今天就先到這裏,若有任何疑問歡迎到 「這裏」與我討論!

「軟件匠藝社區」旨在傳播匠藝精神,經過分享好的「工做方式」和「習慣」以幫助程序員更加快樂高效地編程。

相關文章
相關標籤/搜索