在使用git的時候,有些文件是不需要上傳的,所以就可以修改 .gitignore
例如:
如果是對所有文件都取消跟蹤的話,就是
git rm -r --cached . //不刪除本地文件
git rm -r --f . //刪除本地文件
對某個文件取消跟蹤
git rm --cached readme1.txt 刪除readme1.txt的跟蹤,並保留在本地。
git rm --f readme1.txt 刪除readme1.txt的跟蹤,並且刪除本地文件。
然后git commit 即可。但是git status查看狀態時還是會列出來
每次使用git status 查看狀態時總是會列出被跟蹤的文件,可以通過 .gitignore文件來達到目的
在git init 的目錄下建立.gitignore文件,git官方提供的有 該文件,可以加以修改使用
https://github.com/github/gitignore
例:
這樣被濾掉的文件就不會出現被上傳
.gitignore 還可以指定將哪些文件添加到版本管理中:
在上面的語法前面加上 ! 即可
千萬要注意:
如果你在創建.gitignore文件之前就已經push項目了,那么即時你在.gitignore文件中寫入新的規則,這些規則也不會起作用。
有時候在項目開發過程中,突然心血來潮想把某些目錄或文件加入忽略規則,按照上述方法定義后發現並未生效,原因是.gitignore只能忽略那些原來沒有被track的文件,如果某些文件已經被納入了版本管理中,則修改.gitignore是無效的。那么解決方法就是先把本地緩存刪除(改變成未track狀態),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
如果還是不行的話
在先將想要取消追蹤的文件移到項目目錄外),並提交,然后提交后再將剛剛移出的文件再移入項目中即可
注意:
不要誤解了 .gitignore 文件的用途,該文件只能作用於 Untracked Files,也就是那些從來沒有被 Git 記錄過的文件(自添加以后,從未 add 及 commit 過的文件)。
如果文件曾經被 Git 記錄過,那么.gitignore 就對它們完全無效。