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


当前回答

如果您想维护一个文件夹而不是其中的文件,只需在文件夹中放置一个“.gitignore”文件,其中包含“*”作为内容。此文件将使Git忽略存储库中的所有内容。但是.gitignore将包含在您的存储库中。

$ git add path/to/folder/.gitignore

如果您添加了一个空文件夹,则会收到此消息(.gitignore是一个隐藏文件)

The following paths are ignored by one of your .gitignore files:
path/to/folder/.gitignore
Use -f if you really want to add them.
fatal: no files added

因此,使用“-f”强制添加:

$ git add path/to/folder/.gitignore -f

其他回答

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

*
!.gitignore

这对我有用。

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

dir_to_ignore/

这里有更多信息。

这对一些人来说可能非常明显,但我确实从其他答案中理解了这一点。

在目录中创建.gitignore文件本身没有任何作用。您必须将.gitignore作为文本文件打开,并将希望它忽略的文件/目录写在各自的行上。

所以cd到Git存储库目录

touch .gitignore
nano .gitignore

然后写下要忽略的文件和/或目录的名称及其扩展名(如果相关)。

此外,.gitignore在某些操作系统(例如Mac)上是一个隐藏文件,因此您需要ls-a来查看它,而不仅仅是ls。

若要忽略整个目录,请在其中放置.gitignore的“*”。

例如

示例系统

/root/
    .gitignore
    /dirA/
        someFile1.txt
        someFile2.txt
    /dirB/
        .gitignore
        someFile3.txt
        someFile4.txt

Goal

忽略dirB的内容/

顶级(/root/.gitignore)

你可以在这里“dirB/”

忽略的目录(/root/dirB/.gitignore)

或者你可以在这里“*”

Git在文件系统的每一步都监视gitignore。所以这里我选择dirB/.gitignore作为“*”来忽略dirB/,包括其中的所有文件和子磁盘。

多恩☺️

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

**/build/output/Debug/