Linux中國

不要忽視 .gitignore

我注意到很多開發者沒有使用 .gitignore 文件,儘管使用 .gitignore 文件來指定你不希望 Git 在版本控制中跟蹤的文件是最佳實踐之一。.gitignore 可以提高代碼質量,所以你不應該忽略版本庫中的 .gitignore

什麼是 .gitignore?

Git 倉庫中的文件可以是:

  1. 未跟蹤的:未被暫存或提交的變更。
  2. 跟蹤的:已暫存或提交的變更。
  3. 忽略的:你讓 Git 忽略的文件。

有些文件你希望 Git 忽略,不要在你的版本庫中跟蹤它,這些文件包括許多自動生成的或特定於平台的文件,以及其他本地配置文件,如:

  1. 含有敏感信息的文件
  2. 編譯出的代碼,如 .dll.class
  3. 系統文件,如 .DS_StoreThumbs.db
  4. 含有臨時信息的文件,如日誌、緩存等。
  5. 生成的文件,如 dist 文件夾。

如果你不想讓 Git 跟蹤版本庫中的某些文件,不過這不能通過 Git 命令做到。(雖然你可以用 git rm 命令停止跟蹤一個文件,比如 git rm --cached。)相反,你需要使用 .gitignore 文件,這是一個告訴 Git 不要跟蹤哪些文件的文本文件。

創建 .gitignore 文件很簡單,只需創建一個文本文件並命名為 .gitignore。記得在文件名的開頭有一個點(.)。就這樣就完成了。

編寫 .gitignore 文件的規則

根據文檔,「.gitignore 文件中的每一行都指定了一個模式。」

在此上下文中,「模式」可以指一個特定的文件名,或者指文件名的某些部分結合上通配符。換句話說,example.txt 是匹配名為 example.txt 的文件的有效模式,而 ex*txt 是匹配名為 example.txt 以及 export.txt 的文件的有效模式。

以下是一些幫助你正確設置 .gitignore 文件的基本規則:

  1. 任何以哈希(#)開頭的行都是注釋。
  2. `` 字元可以轉義特殊字元。
  3. / 字元表示該規則只適用於位於同一文件夾中的文件和文件夾。
  4. 星號(*)表示任意數量的字元(零個或更多)。
  5. 兩個星號(**)表示任意數量的子目錄。
  6. 一個問號(?)代替零個或一個字元。
  7. 一個感嘆號(!)會反轉特定的規則(即包括了任何被前一個模式排除的文件)。
  8. 空行會被忽略,所以你可以用它們來增加空間,使你的文件更容易閱讀。
  9. 在末尾添加 / 會忽略整個目錄路徑。

本地與全局 .gitignore 文件的比較

有兩種類型的 .gitignore 文件:

  • 本地:放在 Git 倉庫的根目錄下,只在該倉庫中工作,並且必須提交到該倉庫中。
  • 全局:放在你的主目錄根目錄下,影響你在你的機器上使用的每個倉庫,不需要提交。

很多開發者在項目倉庫中使用本地的 .gitignore 文件,但很少有人使用全局的 .gitignore 文件。使用全局文件最顯著的優勢是,你不需要提交就可以使用它,而且做一個改動會影響你所有的版本庫。

Git 忽略的優勢

除了確保特定的文件不被 Git 追蹤之外,使用 .gitignore 文件還有其他好處。

  1. 通過忽略不需要的文件,它可以幫助你保持代碼庫的乾淨。
  2. 它可以控制代碼庫的大小,這在你正在做一個大項目的時候特別有用。
  3. 你的每一次提交、推送和拉取請求都將是乾淨的。

結束語

Git 很強大,但歸根結底,它只是一個計算機程序而已。使用最佳實踐並保持你的代碼倉庫穩定是一個團隊的努力,其中要做到一件事就是使用 .gitignore 文件。

via: https://opensource.com/article/20/8/dont-ignore-gitignore

作者:Rajeev Bera 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國