您的位置:首页 > 其它

Git忽略规则和.gitignore规则不生效的解决办法

2017-05-15 13:48 363 查看
Git忽略规则:

在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果没有这个文件,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:

# 此为注释 – 将被 Git 忽略

*.sample    # 忽略所有 .sample 结尾的文件

!lib.sample    # 但 lib.sample 除外

/TODO    # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO

build/    # 忽略 build/ 目录下的所有文件

doc/*.txt   # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

  .gitignore规则不生效的解决办法

把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:

git rm -r --cached .

git add .

git commit -m 'update.gitignore'

---------------------------------------------------------------------------------------------------------------


git rm与git rm --cached

当我们需要删除
暂存区
分支
上的文件,
同时工作区也不需要这个文件了, 可以使用
git rm file_path

当我们需要删除
暂存区
分支
上的文件,
但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用
git rm --cached file_path


file_path 为文件路径
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: