一、关于.gitignore 和 excludes
这两个文件的只针对尚未提交到配置库的文件才起作用。而对于已经提交的文件是不起作用的。
由此可见,这两个文件的初衷是用于排除不希望上传入库的文件。像编译产生的临时文件等。
但是,我们经常有这样一种情况。
有个文件,我们必须入库,大家一起共享,但是呢。每个人本地的配置又是因自己本地的环境而异。这样的话,这个文件就很崩溃了。你要入库,通过.gitignore和excludes都不起作用。每次git status都会提示你修改,你又好上传。
对于这种情况,应该使用下面的命令:git update-index --assume-unchanged FILENAME
这样,每个人,从库上取代码后,在自己本地都要执行一下上面的这个命令。这样,以后,你这个文件的修改,git 都会帮你忽略掉。
当然,哪一天,你希望你的修改要提交入库,那你也必须手动修改一下 这个文件的标志位:git update-index --no-assume-unchanged FILENAME
测试示例
执行命令将db.php加入不提交队列
git update-index —assume-unchanged include/db.php
执行命令将db.php取消加入不提交队列
git update-index —no-assume-unchanged include/db.php
说明:include/db.php 为文件的路径
所以。
我们总结一下,总的流程:还是像你平常一样,需要入库,全部commit 提交,push。然后,由于这个文件你本地的配置跟别人不一样,你需要修改它,但不需要入库与别人共享。那么你就执行上面的 git update-index —assume-unchanged 命令来忽略你本地对它的修改。
$ git fetch —all
$ git reset —hard origin/master
$ git pull
//更新远程分支列表
git remote update origin —prune
//本地分支推送
git push —set-upstream origin prod_fix
处理ingone不生效的问题
git rm -r —cached .
git add .
git commit -m ‘update .gitignore’
本地排除
.git/info/exclude
加上自己需要排除的文件, 做本地排除, 需要重启git
提交分支
git push --set-upstream origin main-1
0则评论给“git忽略对已入库文件的修改”