Git 忽略已跟踪文件的改动
Git 忽略已跟踪文件的改动
git update-index --assume-unchanged
Git之本地忽略
这个分同种情况:
本地永久忽略,效果的gitignore一样,只不过不适于写到gitignore中而已,可以自己建立一个本地独享的gitignore,然后git config --global core.excludesfile 文件的绝对路径,也可以直接将本地要忽略的文件添加到.git/info/exclude中。
不过上述都是针对没有跟踪的文件来说的,如果文件已经被跟踪了你如果在本地想要忽略它的改动,就不能使用以上的方法了。通俗地讲比如一个编译Android的脚本在其它电脑上都是使用的-j32来编译的,但是你的电脑配置没有别人的好,不能开到-j32,但是这个脚本是已经跟踪过的,你修改了就会在每次的git status中看到。对于这种情况Git有一个忽略改动的方法:
$ git update-index --assume-unchanged /path/to/file #忽略跟踪
$ git update-index --no-assume-unchanged /path/to/file #恢复跟踪
如下所示,
1 2 3 4 5 6 7 8 9 10 11 12 | 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状态,现在要忽略他的改动,如下,
1 2 3 4 5 6 7 8 9 10 11 12 | 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=================
转自: http://my.oschina.net/xinxingegeya/blog/391432?fromerr=sRiU3UTn