是否可以merge
分支并使用单个命令自动delete
?只有在合并成功时才应执行删除步骤。
答案 0 :(得分:34)
不,git不会同时支持此功能。
但是,您可以有条件地在shell中运行命令:
git merge source-branch && git branch -d source-branch
修改强>
-d
只会删除合并的分支,而-D
也会删除未合并的分支,因此-d
将确保合并分支,并且不会意外删除分支。< / p>
答案 1 :(得分:4)
这是一个古老的问题,但是对于那些偶然发现该功能的人,可以添加一个Git别名来完成此操作。例如,在.gitconfig
中:
# ...
[alias]
mgd = "!git mg $1 && git br -d $1; #"
然后,您可以运行git mgd branch-name
来合并和删除分支。请注意,小写的-d
标志可确保仅在分支已经完全合并的情况下才删除该分支;因此,您不必担心第一个命令无法正常工作然后丢失分支。
别名开头的感叹号表示这是bash命令,$1
存储用户传入的参数(即要合并/删除的分支的名称)。
注意:请不要忘记别名末尾的注释字符(#
)!没有它将无法工作。
答案 2 :(得分:1)
我会写一个剧本。
git branch | grep -v master | xargs git merge
git branch | grep -v master | xargs git branch -d
此处,分支名称master
可以替换为您当前的分支名称。