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


当前回答

我也有类似的问题。我在一个Windows工具链上工作,与Linux人员共享一个存储库,他们很乐意在给定的文件夹中创建具有相同(大小写除外)名称的文件。

其效果是,我可以克隆存储库,并立即拥有数十个“修改”的文件,如果我签入,这些文件将造成破坏。

我将Windows设置为区分大小写,Git设置为不忽略大小写,但它仍然失败(显然是在Win32 API调用中)。

如果我忽略了这些文件,那么我必须记住不要跟踪.gitignore文件。

但我在这里找到了一个好答案:

http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html

其他回答

默认情况下,当文件名为.gitignore.txt时,Windows资源管理器将显示.gitignore。

Git不会使用.gitignore.txt

您不能将文件重命名为.gitignore,因为Windows资源管理器认为它是一个没有名称的gitignore类型的文件。

非命令行解决方案:

You can rename a file to ".gitignore.", and it will create ".gitignore"

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

**/build/output/Debug/

我也有类似的问题。我在一个Windows工具链上工作,与Linux人员共享一个存储库,他们很乐意在给定的文件夹中创建具有相同(大小写除外)名称的文件。

其效果是,我可以克隆存储库,并立即拥有数十个“修改”的文件,如果我签入,这些文件将造成破坏。

我将Windows设置为区分大小写,Git设置为不忽略大小写,但它仍然失败(显然是在Win32 API调用中)。

如果我忽略了这些文件,那么我必须记住不要跟踪.gitignore文件。

但我在这里找到了一个好答案:

http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html

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

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

ren "New Text Document.txt" .gitignore

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

我在让Git在Windows上获取.gitignore文件时遇到了一些问题。但$GIT_DIR/info/exclude文件似乎始终有效。

然而,这种方法的缺点是$GIT_DIR目录中的文件不包含在签入中,因此不共享。

p.s.$GIT_DIR通常是名为.GIT的隐藏文件夹