【发布时间】:2016-06-17 20:06:24
【问题描述】:
我不小心使用 mv 重命名了 git 下的文件。我重命名了 文件从小写到大写保持名称相同。
mv abc.java ABC.java
在那之后我也进行了更改并提交了文件。
我现在如何对该文件进行实际的 git 重命名? Git bash 似乎不明白 ABC.java 和 abc.java 的区别。
我不确定master(其他人)上发生了什么变化,但是在移动到一个分支之后,我无法再将我的更改提交到文件中。它说旧的文件索引仍然存在。
$ git commit -m "重命名为大写" ABC.java 致命:不会添加文件别名 'dir1/ABC.java'('dir1/abc.java' 已存在于索引中)
当我执行 git status 时,它会显示重命名的文件,但不允许我提交重命名的文件。如果我尝试删除 abc.java(实际上至少在本地不存在),再次(我认为是因为不区分大小写)git 会删除新的。
如果我从中克隆一个新的 repo,repo 仍然会提取旧名称 (abc.java) 的文件,但我的所有更改都在其中,直到最近失败的那些都在其中。
【问题讨论】:
-
你用的是什么版本的git? Woudl git rm --cached abc.java 帮助? (后跟 git -A . 和 git commit)
-
$ git rm --cached abc.java fatal: pathspec 'abc.java' 不匹配任何文件我不确定 git 是否认为 abc.java 在 git 中。它说它不在 git 下,但也说它在索引中。
标签: git github git-branch git-reset git-mv