闖過這 54 關,點亮你的 Git 技能樹 (一)

jopen 8年前發布 | 11K 次閱讀 Git 版本控制系統

上一篇介紹了學習 Git 的好工具,如果你沒有看過,請先閱讀:

闖過這 54 關,點亮你的 Git 技能樹

今天我將帶大家完成前十關。第一關在前文中已經完成,我們從第二關開始吧。如對任何命令有疑問請看第一篇里的推薦教程。

第二關

根據提示,我們要配置「用戶名」和「郵箱」,為什么呢?你的代碼提交后,特別是提交到開源社區,被別人看到,人家覺得這個代碼寫的真牛,想給你一個工作機會,怎么聯系你?

通常,我們在 IDE 里創建一個新文件,IDE 都會自動加上日期,作者,郵箱等信息。其實我認為這都是過時的傳統了,現在我們喜歡盡量保持源代碼干凈。

像創建日志,作者,郵箱這些信息都應該交給版本控制系統來記錄。

當然如果你代碼寫的很爛的話就要小心了,別人 git blame 一下就可以問候你的家人了。

具體怎么過關過程如下:

第三關

第四關

第五關

第六關

第七關

這一關對于不了解 Vim 的同學可能有一點麻煩。這里也是一個很貼近實際的場景,用 Vim 編輯文件的時候,會產生一個 .swp 文件,這個文件的作用是:在你不小心退出了 Vim 或 Vim 自己崩潰后,再次編輯這個文件,就會提示你存在一個 .swp 文件,詢問是否恢復。

它屬于臨時文件,顯然不應該被提交到 VCS 里去。所以 Git 有一個機制讓我們可以忽略某些文件。

第八關

這一關是上一關的延伸,忽略某類文件,但排除其中特定的一個。

根據提示來看一下幫助 git gitignore --help ,輸入 /negate 進行搜索,一下就定位到下面這一段:

根據幫助我們知道了,可以用 ! 來對模式取反。

所以我們編輯 .gitignore ,追加如下兩行:

*.a
!lib.a

成功過關!

第九關

git status 是一個非常常用的命令,插一句題外話:我給它配一個別名 gst ,這樣敲起來就非常方便。

第十關

這兩關都是考察基本概念,一個文件的幾種狀態:

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

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

  • staged - 通過 git add 后被即將被提交的文件

這里一看狀態就知道了,如果現在執行 git commit ,只有最上面的兩個文件會被 commit。

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

來自: http://segmentfault.com/a/1190000004234194

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!