如何重命名git存储库中所有提交的文件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

我想为git存储库中的所有提交重命名一个文件,下面是我尝试过的:

git filter-branch --index-filter 'git mv -k <old name> <new name>' HEAD

此命令遍历存储库中的所有提交,但最终得到消息。

警告:参考文献/参考文献/主参考文献未变

注意,我想重命名的文件在第一次提交时不存在,因此,如果我不使用-kgit mv我是说如果我用:

git filter-branch --index-filter 'git mv <old name> <new name>' HEAD`

在尝试第一次提交时,git会出错。

提问于
用户回答回答于

我最终通过以下方法解决了我原来的问题:

git filter-branch --tree-filter '
if [ -f <old name> ]; then
  mv <old name> <new name>
fi' --force HEAD
用户回答回答于

对任何想要重命名文件的人来说-git rebase -i将很好地工作--包括在重基中创建文件的提交,并将其标记为edit只要重命名该文件,git将正确地将下一个提交应用于该文件。

扫码关注云+社区