所以,我正在尝试使用我的存储库重命名文件夹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"
Run Code Online (Sandbox Code Playgroud)
现在,我想my_file.txt改为your_file.txt:
$ git filter-branch --index-filter 'git mv my_file.txt your_file.txt' HEAD
Run Code Online (Sandbox Code Playgroud)
但它不起作用:
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
Run Code Online (Sandbox Code Playgroud)
但是,git mv执行的相同命令通常可以正常工作:
$ git mv my_file.txt your_file.txt
$ git status
# …Run Code Online (Sandbox Code Playgroud) git ×1