在提交被压缩时识别过时的分支

时间:2012-08-29 11:15:38

标签: git

我们在办公室使用监视器来显示有关git存储库中所有功能分支的信息。其中一个原因是我们知道功能分支何时“过时”(即所有提交都已合并到 master )。我们使用:

git log --pretty=format:'%cd %s' --no-merges --abbrev-commit -n 1 --date=short master..origin/<branch>

最近,我们一直试图通过在将功能合并回 master 时压缩提交来保持更清晰的历史记录。缺点是我们目前识别“过时”分支的方法不再有效。

我们可以使用git命令来确定是否可以安全删除分支吗?

1 个答案:

答案 0 :(得分:0)

以下仅适用于未被压扁的分支机构,因此不适用于您的情况。在某些情况下它可能仍然有用。

嗯,您可以随时使用git branch -d

git checkout master
git branch -d <branch>

-d标志拒绝删除尚未合并到HEAD的分支,在本例中为master。我实际上将它用于cleanup-branches alias只删除我的存储库中已存在于生产代码库中的任何功能分支:

git config --global alias.cleanup-branches \
    '!git branch | grep -v "\*" | awk "{ print $1 }" | xargs git branch -d'

我认为,出于您的目的,您可以在规范存储库中执行此命令。留下的任何分支都处于活动状态并处于开发阶段。