git cherry-pick但得到完全相同的文件结构

时间:2016-02-23 06:45:19

标签: git

我有以下案例。我正在处理一些文件并制作完成 提交。例如:

F - > G - > H(这里我创建并重新编写了许多文件) - > J - > ķ

我想返回提交F但获得完全相同的文件结构 那是在执行此提交时。当我执行:

git cherry-pick <<commit F sha id>> --strategytheirs

我在提交时存在的文件中获得完全相同的内容 执行F但我也希望具有完全相同的文件结构。如果创建了文件,我希望它们不存在于结果中。 是的,我知道我可以从F创建分支并合并但必须 是一个更好的解决方案

1 个答案:

答案 0 :(得分:1)

最简单的方法是结帐F并在必要时挑选新的提交。如果您不需要任何提交(G,H,J,K), 你总是可以在同一个分支上运行硬重置,如下所示:

git reset --hard HEAD~4

这将删除在F之后创建的所有提交并删除所有文件并将其恢复到创建F时的确切方式。

编辑:

第三种但复杂的方法是

  1. 将您的提交重置为H
  2. 对G进行软重置。这将恢复文件。
  3. 再次提交H
  4. cherry-pick J and K