«

解决.gitignore无法忽略的文件以及自身被忽略的方法(忽略(删除)已被纳入版本库的文件)

时间:2024-2-28 16:07     作者:韩俊     分类: Linux


.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

正确的做法是在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。

这里假设要忽略已被纳入版本管理中的 /home/www/phpernote/config.php 文件,则执行命令:

git update-index --assume-unchanged /home/www/phpernote/config.php

然后在.gitignore文件里添加要忽略的文件或文件夹就行了。

注意:经实测以上方法只能临时将该文件加入忽略,如果执行了类似 git checkout -- . 的命令后,该文件的改动会恢复成之前在版本管理中的内容,因此彻底的处理方法如下:

例如我们现在要忽略已经加入到了版本控制库的目录 uploadfiles 或者文件 phpernote.jpg ,则操作如下:

1. 先清除缓存:

$ git rm -r --cached uploadfiles
#如果是文件则: git rm --cached phpernote.jpg

2. 然后将该目录或文件添加到 .gitignore 文件中去:

$ echo '/uploadfiles' >> ./gitignore
#如果是文件则: echo '/phpernote.jpg' >> ./gitignore

3. 然后提交更改:

$ git add .
$ git commit -m '添加忽略文件'
$ git push

标签: linux

热门推荐