為什麼說.gitignore不能忽視
我注意到很多開發者沒有使用 .gitignore 檔案,儘管使用 .gitignore 檔案來指定你不希望 Git 在版本控制中跟蹤的檔案是最佳實踐之一。.gitignore 可以提高程式碼質量,所以你不應該忽略版本庫中的 .gitignore。 |
Git 倉庫中的檔案可以是:
- 未跟蹤的:未被暫存或提交的變更。
- 跟蹤的:已暫存或提交的變更。
- 忽略的:你讓 Git 忽略的檔案。
有些檔案你希望 Git 忽略,不要在你的版本庫中跟蹤它,這些檔案包括許多自動生成的或特定於平臺的檔案,以及其他本地配置檔案,如:
- 含有敏感資訊的檔案
- 編譯出的程式碼,如 .dll 或 .class。
- 系統檔案,如 .DS_Store 或 Thumbs.db。
- 含有臨時資訊的檔案,如日誌、快取等。
- 生成的檔案,如 dist 資料夾。
如果你不想讓 Git 跟蹤版本庫中的某些檔案,不過這不能透過 Git 做到。(雖然你可以用 git rm 停止跟蹤一個檔案,比如 git rm --cached。)相反,你需要使用 .gitignore 檔案,這是一個告訴 Git 不要跟蹤哪些檔案的文字檔案。
建立 .gitignore 檔案很簡單,只需建立一個文字檔案並命名為 .gitignore。記得在檔名的開頭有一個點(.)。就這樣就完成了。
根據文件,“.gitignore 檔案中的每一行都指定了一個模式。”
在此上下文中,“模式”可以指一個特定的檔名,或者指檔名的某些部分結合上萬用字元。換句話說,example.txt 是匹配名為 example.txt 的檔案的有效模式,而 ex*txt 是匹配名為 example.txt 以及 export.txt 的檔案的有效模式。
以下是一些幫助你正確設定 .gitignore 檔案的基本規則:
- 任何以雜湊(#)開頭的行都是註釋。
- \ 字元可以轉義特殊字元。
- / 字元表示該規則只適用於位於同一資料夾中的檔案和資料夾。
- 星號(*)表示任意數量的字元(零個或更多)。
- 兩個星號(**)表示任意數量的子目錄。
- 一個問號(?)代替零個或一個字元。
- 一個感嘆號(!)會反轉特定的規則(即包括了任何被前一個模式排除的檔案)。
- 空行會被忽略,所以你可以用它們來增加空間,使你的檔案更容易閱讀。
- 在末尾新增 / 會忽略整個目錄路徑。
有兩種型別的 .gitignore 檔案:
- 本地:放在 Git 倉庫的根目錄下,只在該倉庫中工作,並且必須提交到該倉庫中。
- 全域性:放在你的主目錄根目錄下,影響你在你的機器上使用的每個倉庫,不需要提交。
很多開發者在專案倉庫中使用本地的 .gitignore 檔案,但很少有人使用全域性的 .gitignore 檔案。使用全域性檔案最顯著的優勢是,你不需要提交就可以使用它,而且做一個改動會影響你所有的版本庫。
除了確保特定的檔案不被 Git 追蹤之外,使用 .gitignore 檔案還有其他好處。
- 透過忽略不需要的檔案,它可以幫助你保持程式碼庫的乾淨。
- 它可以控制程式碼庫的大小,這在你正在做一個大專案的時候特別有用。
- 你的每一次提交、推送和拉取請求都將是乾淨的。
Git 很強大,但歸根結底,它只是一個計算機程式而已。使用最佳實踐並保持你的程式碼倉庫穩定是一個團隊的努力,其中要做到一件事就是使用 .gitignore 檔案。
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2714179/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 優思學院|為什麼六西格瑪團隊不能忽視DMAIC中的C?【案例分享】AI
- 說說被NLP忽視的逗號
- 新手不能忽視的MFC程式設計之CStringC程式程式設計
- 為什麼很多人會選擇性忽視《仙劍奇俠傳二》?
- 為何供應鏈管理者和製造商不能忽視零售變革
- 為什麼pycharm下不能使用importPyCharmImport
- Java介面為什麼不能例項化Java
- 伺服器為什麼不能放在公司伺服器
- 為什麼起床後不能收郵件?
- NSACE|網路資訊保安技術,你不能忽視的存在
- 為什麼說DOM操作很慢
- 什麼是框架?為什麼說 Angular 是框架?框架Angular
- 說說我為什麼看好Spring Cloud AlibabaSpringCloud
- 為什麼你不能錯過《塞爾達傳說:荒野之息》的開放世界
- 為什麼馬斯克不能模仿微信?馬斯克
- 產品工業設計最容易忽視的細節是什麼?
- 為什麼說 HTTPS 是安全的?HTTP
- 為什麼說 TCP 是安全的TCP
- 為什麼說 Bert 大力出奇跡?
- 玩好抖音你不能忽視的短視訊內容套路化創作技巧
- 演算法金 | 線性迴歸:不能忽視的五個問題演算法
- 為什麼偽類的content不能被選中?
- Google搜尋為什麼不能無限分頁?Go
- 為什麼前端不能沒有監控系統?前端
- SOLIDWORKS購買以後為什麼不能使用Solid
- 為什麼雷軍說“華為不懂研發”?
- 我為什麼說AI推理晶片大有可為AI晶片
- 為什麼實體發展越來越難了?因為你忽視了智慧數字經營的重要性
- 為什麼說區塊鏈也不是什麼好東西?區塊鏈
- 編寫約玩原始碼不能忽視的細節,拒絕Bug找上門原始碼
- 說說webpack proxy工作原理?為什麼能解決跨域?Web跨域
- [20220421]為什麼說華為監控是垃圾.txt
- python變數命名為什麼數字不能開頭?Python變數
- 《新科學家》:人為什麼不能永遠醒著?
- Mybatis的Mapper中的方法為什麼不能過載?MyBatisAPP
- 為什麼 go 中字串不能用下標訪問Go字串
- 增強for為什麼不能刪除集合裡的元素
- 為什麼軟體測試不能幹一輩子?