我们在办公室使用监视器来显示有关git存储库中所有功能分支的信息。其中一个原因是我们知道功能分支何时“过时”(即所有提交都已合并到 master )。我们使用:
git log --pretty=format:'%cd %s' --no-merges --abbrev-commit -n 1 --date=short master..origin/<branch>
最近,我们一直试图通过在将功能合并回 master 时压缩提交来保持更清晰的历史记录。缺点是我们目前识别“过时”分支的方法不再有效。
我们可以使用git命令来确定是否可以安全删除分支吗?
答案 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'
我认为,出于您的目的,您可以在规范存储库中执行此命令。留下的任何分支都处于活动状态并处于开发阶段。