Git清除历史记录并在合并后保留提交

nobe4

在一个项目中,我们的git日志就像

 1--2--3----------------------------12--        (master)
        \-4--5--------8---9------11-/  \        (branch1)
              \--6-------/---10-/       \       (branch2)
                  \-7-------/            \      (branch3)
                                          \-13  (newbranch) 

我想拥有:

1--2--3--4--5--6--7--8--9--10--11--12--         (master)
                                     \-13       (newbranch) 

那就是删除所有分支,但保留历史记录和提交(以供进一步参考)。

提前致谢。

丹·菲舍尔

我会发表评论,但我没有足够的声誉。您能澄清一下吗-提交9到12是合并提交吗?如果是,为什么要在线性历史记录中包括合并提交?忽略合并提交的线性历史记录不是重点吗?

编辑:无论如何,请尝试以下操作:

1)计算出提交1的提交哈希。假设它是5678。

2)git checkout master然后执行git rebase -i 5678您会得到提示。重新排列提交1到12。然后保存并退出编辑器。

3)git checkout newbranch然后执行git rebase master

重写历史记录总是有风险的,因此在尝试执行此操作之前,请确保确保有另一个指向master的分支(起源/ master或其他本地分支),这样,如果出现问题,我可以git reset --hard <pointer-to-previous-master>newbranch也是如此。

完成后,在master和newbranch上一切都看起来不错,您可以使用删除分支1-3 git branch -D

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Git提交并推送二进制文件,但不保留历史记录

来自分类Dev

git删除某些提交后的远程历史记录

来自分类Dev

git:合并分支但保留提交历史记录

来自分类Dev

将旧的git历史记录合并到初始提交中

来自分类Dev

从TFS迁移-> GIT ...如何保留分支的历史记录

来自分类Dev

GIT重命名分支并保留所有提交历史记录

来自分类Dev

合并缺少提交历史记录的git存储库到保留历史记录的存储库

来自分类Dev

如何清除git历史记录?

来自分类Dev

我如何只保留git仓库的1个提交历史记录?

来自分类Dev

如何从git历史记录中提取提交?

来自分类Dev

从Eclipse迁移到Android Studio后保留Git历史记录的问题

来自分类Dev

如何清除git历史记录中的所有先前提交?

来自分类Dev

在保留历史记录的同时恢复git目录

来自分类Dev

如何撤消git合并,但保留历史记录

来自分类Dev

清除已删除文件的git历史记录,保留重命名的文件历史记录

来自分类Dev

在git上重命名文件并保留历史记录

来自分类Dev

如何合并而不丢失提交历史记录?

来自分类Dev

如何在保留尽可能多的历史记录的同时从git的历史记录中清除单词?

来自分类Dev

如何重写git历史记录直到包含合并提交

来自分类Dev

合并后的git及其作者历史记录如何存储已解决的冲突

来自分类Dev

VS Code'git mv'保留文件历史记录?

来自分类Dev

为什么Safari清除了cookie和历史记录后,甚至在完全重置后仍保留登录信息?

来自分类Dev

将旧的git历史记录合并到初始提交中

来自分类Dev

相同的代码将不同的git文件合并在一起,并保留历史记录

来自分类Dev

在移动目录上保留Git历史记录

来自分类Dev

合并缺少提交历史记录的git存储库到保留历史记录的存储库

来自分类Dev

清除已删除文件的git历史记录,保留重命名的文件历史记录

来自分类Dev

如何清除git历史记录以删除某些提交后的提交?

来自分类Dev

如何在保留提交历史记录的同时恢复 git repo?

Related 相关文章

  1. 1

    Git提交并推送二进制文件,但不保留历史记录

  2. 2

    git删除某些提交后的远程历史记录

  3. 3

    git:合并分支但保留提交历史记录

  4. 4

    将旧的git历史记录合并到初始提交中

  5. 5

    从TFS迁移-> GIT ...如何保留分支的历史记录

  6. 6

    GIT重命名分支并保留所有提交历史记录

  7. 7

    合并缺少提交历史记录的git存储库到保留历史记录的存储库

  8. 8

    如何清除git历史记录?

  9. 9

    我如何只保留git仓库的1个提交历史记录?

  10. 10

    如何从git历史记录中提取提交?

  11. 11

    从Eclipse迁移到Android Studio后保留Git历史记录的问题

  12. 12

    如何清除git历史记录中的所有先前提交?

  13. 13

    在保留历史记录的同时恢复git目录

  14. 14

    如何撤消git合并,但保留历史记录

  15. 15

    清除已删除文件的git历史记录,保留重命名的文件历史记录

  16. 16

    在git上重命名文件并保留历史记录

  17. 17

    如何合并而不丢失提交历史记录?

  18. 18

    如何在保留尽可能多的历史记录的同时从git的历史记录中清除单词?

  19. 19

    如何重写git历史记录直到包含合并提交

  20. 20

    合并后的git及其作者历史记录如何存储已解决的冲突

  21. 21

    VS Code'git mv'保留文件历史记录?

  22. 22

    为什么Safari清除了cookie和历史记录后,甚至在完全重置后仍保留登录信息?

  23. 23

    将旧的git历史记录合并到初始提交中

  24. 24

    相同的代码将不同的git文件合并在一起,并保留历史记录

  25. 25

    在移动目录上保留Git历史记录

  26. 26

    合并缺少提交历史记录的git存储库到保留历史记录的存储库

  27. 27

    清除已删除文件的git历史记录,保留重命名的文件历史记录

  28. 28

    如何清除git历史记录以删除某些提交后的提交?

  29. 29

    如何在保留提交历史记录的同时恢复 git repo?

热门标签

归档