Git在不区分大小写的文件系统上添加文件夹的问题

时间:2013-08-14 09:56:04

标签: windows git

我在Windows上测试Git是否考虑使用它。 我刚刚创建了一个新的存储库,创建了一个.gitignore文件并试图添加一些文件夹。

到目前为止,我遇到了两个问题:

  1. 我使用.gitignore命令创建了touch .gitignore文件,之后,我尝试使用cat .gitignore命令添加过滤器,但它没有似乎让我添加任何东西,我必须手动编辑文件。

  2. 对于测试,假设我有一个名为“Folder”的文件夹,如果我使用命令git add folder,git似乎正确地添加它但是如果我用{检查{ {1}}命令,没有添加任何文件,因此我必须将其区分大小写git status,然后git add Folder显示所跟踪文件夹的文件。

  3. 我使用的是Windows,git status设置为true。

    感谢您的帮助!

    修改 我在Windows上搜索了一下Git,主要意见通常是“不要使用Git with Windows”,所以我会寻找其他DVCS,如Mercurial或Bazaar。

    感谢您的回答!

3 个答案:

答案 0 :(得分:1)

为了将文件添加到.gitignore,只需使用文本编辑器将其打开并添加。如果要从unix命令的输出中添加它们,可以执行command >> ~/.gitignore之类的操作。 。这会导致命令输出附加到.gitignore。

要回答第二个问题,core.ignorecase意味着:

  

如果为true,则此选项启用各种变通方法,以使git能够更好地处理不区分大小写的文件系统,如FAT。例如,如果目录列表在git需要“Makefile”时找到“makefile”,git将假定它实际上是同一个文件,并继续将其记住为“Makefile”。 git-config(1) Manual Page

此定义并未建议您可以使用错误的案例“添加”文件并期望它能够正常工作。特别是你说“添加这个目录”,你给的目录名不是真正的目录(因大小写而异),所以它什么也没做。

答案 1 :(得分:0)

如果文件夹为空,则不会添加任何内容,因为git不处理空文件夹

答案 2 :(得分:0)

  1. cat FILENAME使cat将文件FILENAME的内容传递给其标准输出,因此在这种调用形式中,cat不能用于< em>修改文件。

    如果您想使用cat修改.gitignore文件,请执行

    cat >.gitignore
    

    覆盖该文件包含您要输入cat标准输入的内容(在Windows上输入^ZCtrl-Z)终止该文件)或

    cat >>.gitignore
    

    将您输入的内容附加到该文件中运行cat

    在任何一种情况下,我都会说尝试使用这种尖锐的工具来完成这项任务,这很简单,因为你似乎缺乏对标准Unix工具箱的深入了解。在学习的过程中,我现在坚持使用文本编辑器。

  2. 我想知道gitignorecase是什么。您需要的配置选项名为core.ignorecase,应使用

    之类的命令进行设置
    git config --add [--local] core.ignorecase true
    

    以下是描述git config的{​​{3}}及其所知的所有标准选项。您可以通过运行

    在浏览器中打开本手册的本地副本
    git help config