git忽略对已入库文件的修改


一、关于.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

原文链接: git忽略对已入库文件的修改 版权所有,转载时请注明出处,违者必究。
注明出处格式:流沙团 ( https://gyarmy.com/post-607.html )

发表评论

0则评论给“git忽略对已入库文件的修改”