虽然我发现了类似的问题,但我没有找到问题的答案
当我尝试重命名目录从FOO到FOO通过git mv FOO FOO我得到
fatal: renaming 'FOO' failed: Invalid argument
好的。我试试gitmv FOO foo2 && gitmv foo2 FOO
但当我尝试通过git commit提交时。我得到
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# foo
nothing added to commit but untracked files present (use "git add" to track)
当我通过git添加目录时,添加foo没有任何变化,git提交。又给了我同样的信息。
我做错了什么?我认为我正在使用区分大小写的系统(OSX),为什么我不能简单地重命名目录?
这里有一个简单的方法。
确保您的工作目录为空。
暂时禁用git忽略大小写
git config core.ignorecase false
重命名任何目录(例如Folder => Folder)
向工作目录添加更改
git add --all
保存您的更改。
git stash
原来的目录现在应该被删除。进行本地提交。
git add --all
git commit -m "Rename directories"
流行的变化
git stash pop
将此修改为之前的提交。
git add --all
git commit --amend
您现在应该有一个重命名目录的提交。你现在可以恢复原来的ignorecase配置:
git config core.ignorecase true
这里有一个简单的方法。
确保您的工作目录为空。
暂时禁用git忽略大小写
git config core.ignorecase false
重命名任何目录(例如Folder => Folder)
向工作目录添加更改
git add --all
保存您的更改。
git stash
原来的目录现在应该被删除。进行本地提交。
git add --all
git commit -m "Rename directories"
流行的变化
git stash pop
将此修改为之前的提交。
git add --all
git commit --amend
您现在应该有一个重命名目录的提交。你现在可以恢复原来的ignorecase配置:
git config core.ignorecase true