【问题标题】:safely delete a local branch after rebase - replace of git branch --mergedrebase 后安全删除本地分支 - 替换 git branch --merged
【发布时间】:2012-10-16 02:41:27
【问题描述】:

我必须更改旧提交中的提交消息才能将其推送到远程服务器。这个提交只是在我的机器上,所以我可以交互地变基然后修改它。

我通常会在推送到远程服务器后删除所有未使用的本地分支,为此我经常使用

   git branch --merged

仔细检查我可以删除哪些分支。然而,这个命令只是在提交历史中倒退,以检查哪些分支是可访问的。当我进行 rebase 时,我使用的分支不在输出中,我不能 100% 确信我的最后更改都包含在 rebase 之后。这听起来很奇怪,我知道。

我如何知道在变基后可以安全删除哪些分支?我应该担心这个还是 rebase 比我想象的更安全?

【问题讨论】:

    标签: git git-branch git-rebase


    【解决方案1】:

    由于您没有更改 rebase 中的任何文件,因此您可以检查您的历史记录是否包含另一个分支的树。

    你可以得到另一个分支的树SHA1

    git log --pretty=format:%t -n 1 other_branch
    

    然后在你的历史中搜索它:

    git log --pretty=format:"%t %ai %s" | grep <tree_SHA1_you_found>
    

    如果你得到了一些东西,这意味着在你历史上的这一点上,你拥有与另一个分支完全相同的文件集。

    【讨论】:

      猜你喜欢
      • 2019-12-25
      • 1970-01-01
      • 1970-01-01
      • 2012-02-24
      • 1970-01-01
      • 2023-01-17
      • 2013-10-18
      • 2015-10-19
      相关资源
      最近更新 更多