1.需求:
項目中如日誌,臨時文件,編譯的中間文件等不想提交到代碼倉庫,
2.方案:
這時就要設置相應的忽略規則,來忽略這些文件的提交。在項目根路徑添加.gitignore文件,內容如下,匹配規則按行從上到下
#忽略所有.svn目錄
.svn/
#忽略所有target目錄
target/
#忽略所有.idea目錄
.idea/
#忽略所有.iml文件
*.iml
語法 | 含義 |
---|---|
/ | 目錄 |
* | 多個字符 |
? | 單個字符 |
[] | 多個可選字符匹配單個字符 |
! | 不忽略(跟蹤)匹配到的文件或目錄 |
詳細的規則可以參考官方英文文檔
3 .gitignore規則不生效
3.1 現象
不小心在IDE提示是否添加到git時,點了確定,發現管理了.idea、target文件夾,
然後添加.gitignore文件夾,配置了以上規則,但是重新編譯後,target的修改在git status還是顯示了修改!?
3.2 原因
.gitignore只能忽略那些原來沒有被track(之前沒有add過)的文件,如果某些文件已經被納入了版本管理中,則修改.gitignore是無效的。
3.3 解決方案
解決方法就是先把本地緩存刪除(改變成未track狀態),然後再提交:
git rm -r --cached target
git rm -r --cached .idea
此後不再追蹤track這兩個文件夾