如何 git 将文件夹和文件移动到新文件夹并保留历史记录? [复制]

Posted

技术标签:

【中文标题】如何 git 将文件夹和文件移动到新文件夹并保留历史记录? [复制]【英文标题】:how to git move folder and files to new folder and keep history? [duplicate] 【发布时间】:2020-03-16 16:52:03 【问题描述】:

我想将文件夹和其中的文件移动到新文件夹。文件夹名称和文件名称都已更改。

Dir1
  file11
  file12

 TO

Dir2
  file21
  file22

我也想保留历史。

我可以一次提交吗?或者我需要以下 2 个步骤?

git mv Dir1 Dir2
commit and push

git mv Dir2/file11 Dir2/file21
git mv Dir2/file11 Dir2/file22
commit and push

【问题讨论】:

@EncryptedWatermelon 我的问题的一部分。想要重命名目录以及其中的文件。 我想知道他们为什么将其复制为副本。这不是重复的,因为这个问题询问如何重命名文件夹以及其中的文件。指出的重复问题仅显示如何重命名文件夹。 【参考方案1】:

是的,您只能在一次提交中执行此操作:

git mv Dir1 Dir2
git mv Dir2/file11 Dir2/file21
git mv Dir2/file11 Dir2/file22
commit and push

如果您愿意,您也可以在两次提交中执行此操作并使用git rebase -i HEAD~3 压缩它们。

【讨论】:

谢谢它的工作。

以上是关于如何 git 将文件夹和文件移动到新文件夹并保留历史记录? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将文件从一个文件夹移动到同一git存储库中的另一个文件夹保留历史记录[重复]

用于将所有* .512.png移动到新文件夹的脚本

如何将一些文件从一个 git repo 移动到另一个(不是克隆),保留历史记录

sh 将git存储库及其所有分支,标记移动到新的远程存储库,保留提交历史记录

text git实用程序用于移动/重命名文件或文件夹并使用它保留历史记录。

读取GPS星历文件读取GPS的星历文件,并动态显示卫星移动效果