【取消對所有文件的跟蹤】
git rm -r --cached . // 不刪除本地文件 git rm -r --f . // 刪除本地文件
【取消對某個文件的跟蹤】
git rm --cached file_name.txt // 刪除對file_name.txt的跟蹤,但保留本地文件 git rm --f file_name.txt // 刪除對file_name.txt的跟蹤,且刪除本地文件
【.gitignore】
如果在創建.gitignore文件之前就已經add或者commit了,那么即使在.gitignore文件中寫入新的規則,這些規則也不會起作用。
因為.gitignore文件只能作用於未被跟蹤的文件(Untracked Files),也就是那些從來沒有被Git記錄過的文件(自添加以后,從未 add 及 commit 過的文件)。如果文件曾經被 Git 記錄過,那么.gitignore就對它們完全無效。
這時可以先把本地緩存刪除(改變成未track狀態),然后再提交:
1 git rm -r --cached . 2 3 git add . 4 5 git commit -m 'update .gitignore'