.gitignore的规则和文件已经track的情况下新增忽视项失效

.gitignore的简单规则

参见官方书籍:https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository#_ignoring

或者:https://github.com/github/gitignore

.gitignore配置文件用于配置不需要加入版本管理的文件,配置好该文件可以为版本管理带来很大的便利,以下是对于配置.gitignore的一些心得记录:

1.配置语法

以斜杠“/”开头表示目录;
以星号“*”通配多个字符;
以问号“?”通配单个字符
以方括号“[]”包含单个字符的匹配列表;

以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

2. 忽视项失效:

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

git rm -r --cached .  // 这一句我执行时没有成功,需要写成:git rm -r -f --cached . 。最后有一个点。
git add .
git commit -m 'update .gitignore'

注意:
不要误解了 .gitignore 文件的用途,该文件只能作用于 Untracked Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件)。

如果文件曾经被 Git 记录过,那么.gitignore 就对它们完全无效。

感谢:

http://blog.51cto.com/altboy


猜你喜欢

转载自blog.csdn.net/qq_41009742/article/details/80421004