我正在比较远程分支,以便查看分支是否可以安全地合并到master中,以便释放master。
我正在做以下工作:
git diff --name-status origin/develbranch ... origin/master
我似乎得到了一个正确的文件列表,如下所示:
AAAA www/images/widget/topdown/right_dis.png
DDDD www/includes/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php
我的问题是:
我这样做对吗?
如果合并这些分支,dddd文件不会在master中被删除,对吗?
最佳答案
事实上,为了让diff正确的绕着你想跑的路
git diff --name-status origin/master ... origin/develbranch
那应该行得通,但我会给你展示一些其他妙招:
git checkout master; git branch --no-merged
这将显示所有不能快速转发到主节点的分支,即所有未合并的分支。
git checkout master; git merge --no-ff --no-commit develbranch; git diff
这是了解合并实际情况的唯一方法。使用
git reset --hard
查看合并后,可以将其丢弃。git branch --contains develbranch
将显示
develbranch
可以快速转发到的所有分支。这对于检查develbranch
的所有更改已合并到哪个分支非常有用。