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


当前回答

在Unix上:

touch .gitignore

在Windows上:

echo > .gitignore

在终端中执行的这些命令将在当前位置创建.gitignore文件。

然后只需将信息添加到此.gitignore文件(例如使用Notepad++),哪些文件或文件夹应被忽略。保存更改。就是这样:)

更多信息:.gitignore

其他回答

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

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

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

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

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

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

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

**/build/output/Debug/

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

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

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

似乎忽略文件和目录有两种主要方式:

.git忽略将.gitignore文件放置到存储库的根目录中,而不是.git文件夹(在Windows中,确保看到真正的文件扩展名,然后使.gitignore.(结尾处的点为空文件扩展名))生成全局配置~/.gitignore_global并运行git-config--global-core.excludsfile~/.gigignore_global将其添加到git配置中注意:以前跟踪的文件可以通过运行gitrm--缓存文件名来取消跟踪存储库排除-对于不需要共享的本地文件,只需将文件模式或目录添加到文件.git/info/exclude中即可。这些规则未提交,因此其他用户看不到。这里有更多信息。

要在忽略文件列表中设置例外,请参阅此问题。

在Windows和Mac上,如果要忽略当前目录中名为Flower_Data_folder的文件夹,可以执行以下操作:

echo Flower_Data_Folder >> .gitignore

如果是名为data.txt的文件:

echo data.txt >> .gitignore

如果是类似“Data/passwords.txt”的路径

echo "Data/passwords.txt" >> .gitignore.