1. 程式人生 > >git取消文件跟蹤

git取消文件跟蹤

csdn 版本管理 www 本地文件 article 但是 lan status 某個文件

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

本文參考1:http://www.cnblogs.com/kevingrace/p/5690241.html

本文參考2:http://blog.csdn.net/pengchaozhang111/article/details/51438881

git取消文件跟蹤