无法确定如何处理“.gitignore”子文件夹。
无法确定如何处理“.gitignore”子文件夹。
我有一个像这样的目录结构:
.git/ .gitignore main/ ... tools/ ... ...
在main和tools以及其他任何目录中,无论在哪个级别,都可能有一个名为'bin'的目录,我想要忽略它(并且我也想要忽略它下面的所有内容)。我在.gitignore中尝试了以下每个模式,但都没有起作用:
/**/bin/**/* /./**/bin/**/* ./**/bin/**/* **/bin/**/* */bin/**/* bin/**/* /**/bin/* #以及以*结尾的其他模式
有人可以帮我吗?如果我这样做,第一个模式(我认为应该起作用)就可以正常工作:
/main/**/bin/**/*
但我不想为每个顶级目录都添加一个条目,也不想每次添加新目录时都修改.gitignore。还有一些文件和目录的名称中包含子字符串'bin',我想要保留。
这是在使用最新的msysgit的Windows上。
在使用Git的过程中,有时候我们希望忽略某些文件或目录,但是添加了.gitignore规则后,Git并不会自动忽略已经存在的文件。为了解决这个问题,我们需要先取消追踪该文件,然后再重新添加到Git中。
具体操作如下:
1. 打开终端,进入到你的项目根目录下。
2. 运行以下命令取消追踪文件:
git rm --cached 文件名
如果要取消追踪一个目录及其下的所有文件,可以使用以下命令:
git rm --cached -r 目录名
3. 运行以下命令将修改后的.gitignore文件添加到Git中:
git add .
这将刷新你的本地仓库并取消暂存被忽略的文件。
4. 提交修改:
git commit -m "更新.gitignore文件"
这样就解决了在.gitignore文件中添加规则后,Git不会自动忽略已存在文件的问题。
参考链接:
- [git-rm文档](http://git-scm.com/docs/git-rm)
- [GitHub帮助文档 - 忽略文件](https://help.github.com/articles/ignoring-files/)
如果我通常在提交时使用git add -A
命令,那么是否可以用这个命令来替代呢?在第一行的点号是否可以替换为-A呢?
是的,你可以使用git add -A
命令替代git add .
命令。两者的作用是一样的,都是将所有修改过的文件添加到暂存区。
同时,你也可以在第一行的点号处使用-A来代替,效果也是一样的。
希望这个解决方法对你有帮助!