在Rails中更改文件夹的名称 - Git不会让我添加到提交

时间:2010-10-26 21:08:45

标签: ruby-on-rails github

alt text

参考上面的屏幕截图,我更改了树中最低级别文件夹的名称。例如,我将“筹码”改为“筹码”。奇怪的是,当我尝试将其添加到提交时,Git拒绝识别以下命令:

git add public/images/chips/

我可以将文件添加到提交中的唯一方法是在子文件夹中添加一个实际文件。

任何想法如何处理?

6 个答案:

答案 0 :(得分:3)

通常,在更改文件或目录名称时,您需要使用以下内容:

git mv oldfile newfile

这将告诉git实际添加更改,以便您可以提交它们。因此,尝试使用

手动更改它
mv chips Chips

然后运行

git mv Chips chips

答案 1 :(得分:1)

使用具有不区分大小写的文件系统(如OSX和Windows)的操作系统时,这可能只是一个问题。您应该在unix系统/区分大小写的文件系统上进行重命名 - 它可以使用任何一种方式(git mv或首先重命名,然后git add - 它将检测移动)。

然后回到你不区分大小写的系统,你可能会在拉动过程中遇到冲突。它可能有助于手动重命名并再次尝试拉取 - git应该正确合并这些更改(因为如果提交在该目录中没有改变任何其他内容,实际上没有)。

你也可以通过一些高级git来解决这个问题并重命名欺骗:首先重命名为chips-tmp,提交,然后重命名为chips,修改你之前的提交。然后才推到你的上游repositoy。

看这里:

答案 2 :(得分:1)

请注意,从2013年3月15日起,您可以move or rename a file directly from GitHub 这意味着,在您的情况下,您可以重命名GitHub上的文件夹,然后在新的本地仓库中使用所述文件夹的新名称克隆您的仓库。

renaming

  

您还可以使用文件名字段将文件移动到全新的位置   要向下导航到文件夹,只需键入要将文件移动到的文件夹的名称,然后键入/
  该文件夹可以是已经存储库的一部分,也可以是一个尚不存在的全新文件夹!

moving

答案 3 :(得分:0)

回滚您的更改并运行git mv Chips chips

答案 4 :(得分:0)

您是如何重命名文件夹的?我总是使用git mvgit help mv)在我的存储库中移动/重命名文件。尝试mv将文件/文件夹恢复为git知道的样子,然后使用git的move版本?

答案 5 :(得分:0)

试试git add -A。这将检测未通过git mv / git rm完成的重命名/删除。