因此,我尝试使用 重命名我的存储库中的文件夹git filter-branch --index-filter
,但我总是以“致命:错误源”错误告终。
使用文件而不是文件夹很容易在测试存储库上演示该问题。
准备:
$ git init
$ echo whatever >> my_file.txt
$ git add .
$ git commit -m "initial"
$ echo whatever2 >> my_file2.txt
$ git add .
$ git commit -m "second"
现在,我正在尝试更改my_file.txt
为your_file.txt
:
$ git filter-branch --index-filter 'git mv my_file.txt your_file.txt' HEAD
但它不起作用:
Rewrite dac9a2023bdf9dd0159fab46213d9e1342ae9f75 (1/2)fatal: bad source, source=my_file.txt, destination=your_file.txt
index filter failed: git mv my_file.txt your_file.txt
但是,执行的相同git mv
命令通常可以正常工作:
$ git mv my_file.txt your_file.txt
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# renamed: my_file.txt -> your_file.txt
#
我敢肯定,我在这里遗漏了一些重要的东西 - 但它是什么?