如何在Windows上使用msysgit忽略Git中的目录或文件夹?


当前回答

暂时忽略已在git中的目录/文件:

我在一个多项目等级的项目中有很多项目,它们可能需要很长时间才能删除,它们几乎相同但不同。有时我想通过将它们全部删除来将它们从渐变构建中删除。吉特终究能把它们弄回来。然而,我也不希望他们以git状态出现。因此,我使用以下简单程序:;

删除我不想要的文件和文件夹。验证生成仍然有效告诉git暂时忽略已删除的文件(我们可以找回它们)


gitls文件--已删除-z | git更新索引--假定-z不变--标准输入

在你想要他们回来之前,不要带着他们过日子。然后,运行与之前相同的命令,但切换为“假设不变”或“不假设不变”


git ls文件--已删除-z | git更新索引--不假定未更改-z--标准输入

其他回答

要指示Git忽略某些文件或文件夹,必须创建.gitignore文件。

但在Windows资源管理器中,您必须提供文件的名称。您无法创建仅具有扩展名的文件。诀窍是创建一个空文本文件,然后转到命令提示符,将文件名更改为.gitignore:

ren "New Text Document.txt" .gitignore

现在用您最喜欢的文本编辑器打开文件,并添加您希望忽略的文件/文件夹名称。也可以使用通配符,如*.txt。

在项目目录中创建一个名为.gitignore的文件。通过在文件中输入目录名(附加斜线)忽略目录:

dir_to_ignore/

这里有更多信息。

您可以创建包含以下内容的“.gitignore”文件:

*
!.gitignore

这对我有用。

在Windows中,有一个额外的斜线捕捉。排除.gitignore中的单个目录

目录_排除/

将可能工作,但排除所有具有

/

当目录中的文件名带有空格(如my-file.txt)时会导致问题:GitBash用反斜杠(如my\file.txt)转义这些空格,而Git for Windows无法区分/和\。

要排除所有目录,最好使用:

**/

两个连续的星号表示目录内容。

为了防止需要排除子文件夹,可以使用**通配符排除任何级别的子目录。

**/build/output/Debug/