git 取消文件跟蹤

git取消文件跟蹤

在使用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 就對它們完全無效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章