无法在Git中重命名文件

10
我希望将SystemDBContext.cs重命名为SystemDbContext.cs,当我尝试像这样重命名文件时:
git mv SystemDBContext.cs SystemDbContext.cs

我遇到了以下错误:

fatal: destination exists, source=BabyChangeFinder/DataAccess/SystemDBContext.cs, destination=BabyChangeFinder/DataAccess/SystemDbContext.cs

我检查了目录,目标绝对不存在:

$ ls
SystemDBContext.cs

有人知道这里发生了什么吗?


(注:无需翻译HTML标签)

2
在 Windows 2.3.5 版本的 Git 中,不再需要使用 git mv --force 命令。(https://github.com/git-for-windows/git/releases) - VonC
5
@NRKirby,提醒一下,git并不会明确地跟踪重命名文件。git mv只是为了方便;请参见此处 - behzad.nouri
2
@NRKirby,你正在运行的是大小写不敏感的Windows操作系统。当Git试图将文件移动到新名称时,Windows会告诉它已经有一个同名的文件存在,因为在Windows看来,旧名称和新名称是相同的。 - hobbs
@NRKirby:感谢您编辑答案以匹配更正的文件名。顺便说一下,您不需要使用“由 OP 编辑”来标注您的编辑。只需进行更改即可。想要查看编辑历史记录并了解谁做了什么的人可以自行查看。干杯!=) - Conspicuous Compiler
1
@NRKirby:明白了,那就没问题。 - Conspicuous Compiler
显示剩余5条评论
1个回答

9
尝试使用以下命令之一:

git mv --force SystemDBContext.cs SystemDbContext.cs

或者

git mv -f SystemDBContext.cs SystemDbContext.cs

1
太棒了!我认为也可以用这种方式来完成:“mv -f filename.cs newfilename.cs” - Abhinay
我现在是2023年,使用的是git git version 2.40.0.windows.1,并且已经运行了命令git config --local core.ignorecase false,但我仍然需要使用--force选项。如果不这样做,我会遇到和原帖作者一样的问题。 - ollydbg23

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接