首页 » 资源分享 » 正文

Git忽略已加入版本控制的文件的修改



首先,我想要的目的是:对已经加入Git版本控制的文件,希望修改后不被提交办法,例如配置文件等。

对于.gitignore 和 excludes
这两个文件的只针对尚未提交到配置库的文件才起作用。而对于已经提交的文件是不起作用的。
由此可见,这两个文件的初衷是用于排除不希望上传入库的文件。像编译产生的临时文件等。

但是,我们经常有这样一种情况。
有个文件,我们必须入库,大家一起共享,但是呢。每个人本地的配置又是因自己本地的环境而异。这样的话,这个文件就很崩溃了。你要入库,通过.gitignore和excludes都不起作用。每次git status都会提示你修改,你又好上传。

对于这种情况,应该使用下面的命令:git updateindex –assume-unchanged FILENAME

这样,每个人,从库上取代码后,在自己本地都要执行一下上面的这个命令。这样,以后,你这个文件的修改,git 都会帮你忽略掉。

当然,哪一天,你希望你的修改要提交入库,那你也必须手动修改一下 这个文件的标志位:git updateindex –no-assume-unchanged FILENAME

所以。
我们总结一下,总的流程:还是像你平常一样,需要入库,全部commit 提交,push。然后,由于这个文件你本地的配置跟别人不一样,你需要修改它,但不需要入库与别人共享。那么你就执行上面的 git update-index –assume-unchanged 命令来忽略你本地对它的修改。

# 执行命令将db.php加入不提交队列

git update-index –assume-unchanged include/db.php

# 执行命令将db.php取消加入不提交队列

git update-index –no-assume-unchanged include/db.php

# 说明:include/db.php 为文件的路径