我想重命名Windows系统上由Git实现的目录版本(更改目录名的大小写):
$ git mv docs DOCS
Rename from 'docs' to 'DOCS/docs' failed. Should I try again? (y/n) n
fatal: renaming 'docs' failed: Permission denied
我也尝试过武力选项,但结果是一样的:
$ git mv --force docs DOCS
Rename from 'docs' to 'DOCS/docs' failed. Should I try again? (y/n) n
fatal: renaming 'docs' failed: Permission denied
由于某种原因,Git失败了,因为它认为DOCS已经是一个现有的目录,应该将目录移到其中。我知道我可以使用临时目录名重命名和提交,然后重命名和修改-提交到最终名称,但是没有方法告诉Git我不想移动到任何其他目录中吗?
发布于 2016-04-22 09:55:47
你可以试着在两步内完成。
$ git mv docs DOCS2
$ git mv DOCS2 DOCS
看起来不错
发布于 2016-04-22 14:18:29
由于windows iד区分大小写,所以不能将文件重命名为相同的字母。(Docs == docs忽略一案)
您可以从git bash
中执行此操作,因为git是cygwin,而且它的大小写敏感,因为它是unix仿真器。
命令是git mv。
git mv <old name> <new name>
这是一个来自的演示。(视窗7)
发布于 2016-04-22 09:52:35
不是的。没有一种方法可以告诉Git,您不希望将文件夹移动到任何其他目录中。
这不是对git的限制,而是对Windows和NTFS的限制。因为文件系统不区分大小写,所以它报告大小写更改的新名称已经存在,这将导致您所遇到的行为。尝试2步重命名(使用临时名称),然后在非windows(从技术上讲是在区分大小写的文件系统上)上提交或更改它。
https://stackoverflow.com/questions/36800155
复制