Git忽略文件的三個辦法


方法一(並不好用)

在git中如果想忽略掉某個文件,不讓這個文件提交到版本庫中,可以使用修改根目錄中 .gitignore 文件的方法(如無,則需自己手工建立此文件)。這個文件每一行保存了一個匹配的規則例如:

# 此為注釋 – 將被 Git 忽略
 
*.a        # 忽略所有 .a 結尾的文件
!lib.a     # 但 lib.a 除外
/TODO      # 僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO
build/     # 忽略 build/ 目錄下的所有文件
doc/*.txt  # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt

規則很簡單,不做過多解釋,但是有時候在項目開發過程中,突然心血來潮想把某些目錄或文件加入忽略規則,按照上述方法定義后發現並未生效,原因是.gitignore只能忽略那些原來沒有被track的文件,如果某些文件已經被納入了版本管理中,則修改.gitignore是無效的。那么解決方法就是先把本地緩存刪除(改變成未track狀態),然后再提交:

git  rm  -r --cached . (這里.可以換成你想忽視的文件,這樣就能僅僅把想忽視的文件從本地緩存刪除)
git add . (這里.可以換成你想忽視的文件+gitignore文件)
git commit -m  'update .gitignore'
 
方法二(推薦)
在每個clone下來的倉庫中手動設置不要檢查特定文件的更改情況。

git update-index --assume-unchanged PATH 在PATH處輸入要忽略的文件。

 


 

方法三(推薦)

git 還提供了另一種 exclude 的方式來做同樣的事情,不同的是 .gitignore 這個文件本身會提交到版本庫中去。用來保存的是公共的需要排除的文件。而 .git/info/exclude 這里設置的則是你自己本地需要排除的文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM