Git 忽略已跟蹤文件的改動git
git update-index --assume-unchangedshell
Git之本地忽略ui
這個分同種狀況:spa
本地永久忽略,效果的gitignore同樣,只不過不適於寫到gitignore中而已,能夠本身創建一個本地獨享的gitignore,而後git config --global core.excludesfile 文件的絕對路徑,也能夠直接將本地要忽略的文件添加到.git/info/exclude中。code
不過上述都是針對沒有跟蹤的文件來講的,若是文件已經被跟蹤了你若是在本地想要忽略它的改動,就不能使用以上的方法了。通俗地講好比一個編譯Android的腳本在其它電腦上都是使用的-j32來編譯的,可是你的電腦配置沒有別人的好,不能開到-j32,可是這個腳本是已經跟蹤過的,你修改了就會在每次的git status中看到。對於這種狀況Git有一個忽略改動的方法:it
$ git update-index --assume-unchanged /path/to/file #忽略跟蹤編譯
$ git update-index --no-assume-unchanged /path/to/file #恢復跟蹤ast
以下所示,class
Lenovo@LENOVO-PC /c/WorkSpace2/BodyBuilding (master) $ git status On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: BodyBuilding.iml no changes added to commit (use "git add" and/or "git commit -a")
modified: BodyBuilding.iml,這個文件是處於modified狀態,如今要忽略他的改動,以下,配置
Lenovo@LENOVO-PC /c/WorkSpace2/BodyBuilding (master) $ git update-index --assume-unchanged BodyBuilding.iml Lenovo@LENOVO-PC /c/WorkSpace2/BodyBuilding (master) $ git status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean Lenovo@LENOVO-PC /c/WorkSpace2/BodyBuilding (master) $
好了,完成了。這個文件的改動就不會被顯示出來。
=================END=================