gpt4 book ai didi

git - 使用 git 时,如果我 merge 一个分支然后删除该分支,单个提交是否会丢失?

转载 作者:太空狗 更新时间:2023-10-29 14:26:42 26 4
gpt4 key购买 nike

documentation for git's merge commandgit merge topic的结果如下所示:

      A---B---C topic
/ \
D---E---F---G---H master

在这种情况下,在我看来,如果我要删除 topic 以保持我的分支列表整洁,那么提交 A、B 和 C 的所有记录都将丢失,只留下一个commit, H(并且大概删除了来自 A、B 和 C 的所有提交消息):

D---E---F---G---H master

真的会这样吗?如果是这样,我该如何预防呢?例如:

D---E---F---G---A---B---C master

最佳答案

没有。一切都会在那里。

删除主题分支之前:

      A---B---C topic     /         \D---E---F---G---H master

删除主题分支后:

      A---B---C     /         \D---E---F---G---H master

分支只是指向提交 C 的指针。删除它并不能摆脱提交。

请注意,如果您尚未 merge 主题分支,则删除它会失败,除非您使用 git branch -Dgit branch -d 命令只会删除 merge 的分支,它会保留所有历史记录但会删除分支名称。

脚注:您可以从主题分支使用 git rebase master 获取以下历史记录,然后将 master 快速转发到主题,然后删除主题。

D---E---F---G---A'---B'---C' master

请注意,虽然这是可能的,但它可能不是理想的——原始提交 A、B 和 C 会因 rebase 而丢失。

关于git - 使用 git 时,如果我 merge 一个分支然后删除该分支,单个提交是否会丢失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13058003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com