如何删除区分大小写的重复目录?

时间:2019-07-16 23:11:55

标签: git github

我在Github中有重复的目录(以防万一)。看来它们都被跟踪到了我本地的单个目录。如何在不影响本地目录的情况下正确删除其中一个目录?

我采取的一般步骤(IIRC):

  1. 我有一个目录,比方说“ MyDirectory”。
  2. 我在该目录中推送了一些代码到Github。
  3. 我将目录名称更改为“ mydirectory”。
  4. 我意识到默认情况下github不区分大小写(我的所有代码更改都添加到Github中的“ MyDirectory”中),因此我运行了“ git config core.ignorecase false”。
  5. 我重新进行了更改,从而在Github中创建了一个新目录。 (此时,Github有2个目录,一个名为MyDirectory,另一个名为mydirectory。我的本地只有mydirectory。)
  6. 我找不到从Github删除MyDirectory的好方法,因此我在these steps之后手动删除了其中的所有文件。
  7. 现在,当我运行git pull时,它会从本地删除我的目录(我不想要这样)。

1 个答案:

答案 0 :(得分:2)

TLDR:请勿设置core.ignorecase=false。这与您的操作系统的实际操作相反,并导致git表现异常。

我认为这里对文件名,Git和GitHub有一些困惑。

  1. 操作系统中的文件系统:Linux和Mac使用区分大小写的文件名。 Windows文件名不区分大小写。

  2. Git: Git具有一个名为core.ignorecase的配置,您可以对其进行设置。这用于通知Git您的操作系统的行为。如果将其设置为与操作系统实际相反,则Git的行为将以意外的方式发生。请注意,这不会修改基础文件系统的区分大小写。

  3. Git Hub::这是一个基于Git构建的Web服务。对于此讨论,这并不是真正的因素,因为在此级别上没有管理文件名的大小写敏感性。

此外,Git仅跟踪文件内容。它不会直接跟踪目录。从Git的版本控制中删除目录的唯一方法是从该目录中删除文件。

我知道这并不能直接回答您的问题,但我希望它能阐明这三点是如何导致问题的。