git忽略文件不起作用,git忽略某个文件修改
在git中,如果您想忽略一个文件并防止它被提交到版本库,您可以修改。gitignore文件。该文件的每一行都包含一个匹配规则,例如:
#这是一个注释Git会忽略它
*.a #忽略所有以结尾的文件。a.
!Lib.a #除了Lib.a。
/TODO #仅忽略项目根目录中的TODO文件,不忽略子目录/TODO。
Build/#忽略Build/目录中的所有文件
Doc/*。txt #忽略doc/notes.txt,但不包括doc/server/arch.txt。
经过这样的设置,所有。pyc文件不会添加到版本库中。
此外,git提供了一个全局的。gitignore。可以创建~/。gitignoreglobal文件,并使用相同的规则来描述哪些文件不需要版本控制。
需要执行git config-global core . exclusions file ~/。gitignoreglobal使其有效。
其他过滤条件。
* ?代表任何字符。
* *:表示任意数量的字符。
* {!Ab}:不能是这种类型。
* {ab,bb,cx}:它可以表示任何类型的ab,bb,cx。
* [abc]:可以代表A、B、c的任意字符。
* [a,B,c]:代表不能是字符A,B,c中的任何一个。
由于git不会加入空目录,以下将导致tmp不存在。/*/忽略tmp文件夹中的所有文件。
改变方法,也在tmp下添加一个. gitignore,内容为
*
!被增加
另一种情况,gitignore提交后加入是无效的,需要删除下级缓存。
git rm -r -缓存的ignore_file
注意:gitignore只能忽略那些最初没有被跟踪文件。如果有些文件已经纳入版本管理,修改无效。gitignore。
正确的做法是在每个克隆仓库手动设置,检查具体文件的变化。
git update-Index-Assume-Unchanged PATH在路径中输入要忽略的文件。
此外,git还提供了另一种exclude方法来做同样的事情。不同的是文件。gitignore本身会被提交到版本库。用于保存需要排除的公共文件。还有。git/info/exclude这里是您需要在本地排除的文件。他不会影响别人。它将不会提交到版本库。
还有一个有趣的小功能。gitignore。一个空的。gitignore文件可以看作是一个占位符。当您需要为项目创建一个空的日志目录时,这很有用。您可以创建一个日志目录并将一个空的。gitignore文件在里面。这样,当你克隆这个repo时,git会自动创建一个空的日志目录。