无法确定如何处理“.gitignore”子文件夹。

15 浏览
0 Comments

无法确定如何处理“.gitignore”子文件夹。

我有一个像这样的目录结构:

.git/
.gitignore
main/
  ...
tools/
  ...
...

在main和tools以及其他任何目录中,无论在哪个级别,都可能有一个名为'bin'的目录,我想要忽略它(并且我也想要忽略它下面的所有内容)。我在.gitignore中尝试了以下每个模式,但都没有起作用:

/**/bin/**/*
/./**/bin/**/*
./**/bin/**/*
**/bin/**/*
*/bin/**/*
bin/**/*
/**/bin/* #以及以*结尾的其他模式

有人可以帮我吗?如果我这样做,第一个模式(我认为应该起作用)就可以正常工作:

/main/**/bin/**/*

但我不想为每个顶级目录都添加一个条目,也不想每次添加新目录时都修改.gitignore。还有一些文件和目录的名称中包含子字符串'bin',我想要保留

这是在使用最新的msysgit的Windows上。

0
0 Comments

从上面的内容中可以得知,问题是关于无法忽略".gitignore"子文件夹的原因以及解决方法。

问题的原因是因为".gitignore"文件中没有正确地指定要忽略的子文件夹。根据给出的内容,正确的指定方法是在顶层添加bin/

解决方法是将bin/添加到.gitignore文件中。如果希望全局忽略bin/文件夹,可以将其添加到gitignore_global文件中。需要注意的是,全局忽略不会影响其他用户的仓库。

0
0 Comments

在使用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来代替,效果也是一样的。

希望这个解决方法对你有帮助!

0