git配置忽略文件(已提交文件和目录的忽略)
git 配置语法:
斜杠 / 开头表示目录;
星号 * 通配多个字符;
问号 ? 通配单个字符
方括号 [] 包含单个字符的匹配列表;
叹号 ! 表示不忽略(跟踪)匹配到的文件或目录;
此外,git 对于 .gitignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;
我们在使用git对项目进行版本管理的时候,总有一些不需要提交到版本库里的文件和文件夹,这个时候我们就需要让git自动忽略掉一下文件。
举例说明:*python__/ 此规则会忽略所有以 python__ 结尾的目录 如:testpython__ aa/bbpython__ *python__ 此规则会忽略所有以 python__ 结尾的目录和文件 !testpython__/test.txt 此规则将不忽略 testpython__/test.txt 文件
注:一定要设置好规则顺序,*python__/ 和!testpython__/test.txt 设置这两规则时,*python__/ 规则要在!testpython__/test.txt规则之前,这样才能使testpython__/test.txt些文件不被忽略
但是往往对于已经提交的文件,在 .gitignore 文件中添加其目录是不会让提交列表中的目录消失的,假如之前没将 test 目录添加到 .gitignore 文件中,提交代码的时候又把 test 目录提交上去了,那后面在 .gitignore 文件中添加 test 目录是不会让提交列表中的 test目录消失的,这个时候我们就需要使用命令删除暂存区中的 test 目录 首先需要在 .gitignore 文件添加忽略规则 然后执行删除暂存区的命令,只是删除暂存区的记录 不会对本地文件有影响 删除目录时需要加上-r选项 git rm -r --cached test/ git add . git commit -m "忽略test目录" . git push 即可
开发过程中可能还会遇到这样的情况,某个文件没有修改好,但是又要提交代码, 想这次忽略这个文件,下一次提交时再去提交它。 暂时忽略对文件做的修改 git 文件名 --assume-unchanged 重置下文件标识 git 文件名 --no-assume-unchanged