当前位置: 首页 > 知识库问答 >
问题:

Git:删除分支,如果它等于或落后于master,因为重基合并?

葛俊
2023-03-14

要删除分支,我至少知道这些命令:

git branch oldbranch -d
git branch oldbranch -D

如果分支被完全合并,第一个将删除分支,第二个将在任何情况下删除分支。

    null

你知道这样的命令吗?

共有1个答案

羊舌洛华
2023-03-14

以防万一

git rebase master oldbranch
git checkout master
git branch -d oldbranch

应该这样做,rebase标识并忽略您已经cherrypicked的提交,如果是,那么masteroldbranch将是同一个提交,即oldbranch已经合并并且删除成功。

但凯斯

    null
if [[ `git rev-parse master:` = `git rev-parse oldbranch:` ]]; then
        echo '`oldbranch` tip identical to master tip, not bothering with rebase, deleting'
        git checkout master &&
        git branch -D oldbranch
else
        git rebase master oldbranch &&
        git checkout master &&
        git branch -d oldbranch && echo oldbranch completely merged, deleting
fi

这里没有处理的情况是,两个分支提示是否产生了部分重叠的累积差异,并以不同的方式分配了变化,对于这一点,您只需要决定什么历史记录将是最有用的。我就会合并。

 类似资料:
  • 每次我将一个分支合并回我的主分支时,我就不能再推到原点。我收到消息 我做了一个简单的测试更改: 创建了一个新的分支 做了一个更改到测试分支和提交 签出回到主 合并测试分支 合并似乎进行得很顺利,但现在当我使用Git状态时,主分支并没有告诉我它在源代码之前。当我试着推到原始主机时,我得到了上面的信息。 有人知道是什么导致了这个问题吗?

  • 我们将尝试在github中创建一个工作流,其中每个票据都是master的分支 票据完成后,工作将合并到暂存中,在暂存中执行回归和集成测试,然后将其合并到主控中。 一个团队领导提出了合并后旧票分支的问题。 我发现了这个脚本,想知道它是否能在我们的环境中工作。我们只想删除已经合并到主目录中的分支。

  • 问题内容: 我们目前有一个使用的詹金斯管道。每个git分支都执行一个声纳分析,使用该属性创建一个声纳项目 。这是非常有用的,因为在合并每个分支之前都会对其进行分析,当一个分支与master合并并在GIT上消失时,该问题就会出现,该项目将继续在sonarqube上进行,并且需要手动删除。有没有办法自动做到这一点?或其他任何建议? 问题答案: 您可以定义以下方法来执行此工作,然后根据需要或在诸如合并/

  • 问题内容: 我使用以下方式列出了重复项: 现在,如何删除除一条消息以外的所有消息(我正在尝试删除重复项,以便可以在上应用唯一索引)。 问题答案: 使用和分配行号,以便删除重复对中除一个以外的所有行。

  • 问题内容: 如果该列存在,如何使用ALTER将该列删除到MySQL表中? 我知道我可以使用,但是如果不存在则会抛出错误。是否有其他语法可有条件地删除列? 我正在使用MySQL版本4.0.18。 问题答案: 对于MySQL,没有: MySQL Feature Request 。 无论如何,允许这样做无疑是一个坏主意:表明您正在(具有)未知结构的数据库上运行破坏性操作。在某些情况下,这对于快速而又肮脏

  • 删除列出的分支的所有尝试(根据下面的答案)都会导致错误: 我使用的是: git 1.7.4.1 ubuntu 10.04 GNU bash,version 4.1.5(1)-release GNU grep 2.5.4