Git 在更新的初始文件的新目录上重播更改

Git replay changes on new directory of updated initial files

我有一个回购协议,我从最初提交大量文件开始,然后进行了很多更改。一段时间后(现在),我想将相同的提交应用于相同起始文件的更新版本。最好的方法是什么?似乎有很多选项 - git diff、git format-patch、git filter-branch 等等。我已经尝试了一些,但似乎出现了很多错误。

我已将其压缩为两个提交 - "Initial Import" 和 "Changes"。我想我想做的是用一个新的 "Initial import"(更新的基本文件)开始一个新的回购,然后在顶部选择 "Changes" 提交。然后,我可以将 upstream 设置为原始版本并推送 -f。但是,这不起作用。

执行此操作的合适方法是什么?

  1. 新建一个分支

  2. 全部删除

  3. 将新的初始文件复制到

  4. Cherry-pick 中的“内容”提交:

    git cherry-pick --strategy=recursive -X theirs <"contents"-commit-hash>