2011-12-01 171 views
3

我在比较远程分支,以查看分支是否可以安全地合并到主分支中,以便发布主分支。比较远程Git分支

我做了以下内容:

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 

我的问题是:

  1. 上午我这样做是否正确?
  2. 如果我合并这些分支,DDDD文件将不会被删除在主权利?

回答

6

其实,以获得差异正道各地要运行

git diff --name-status origin/master ... origin/develbranch 

这应该工作正常,但我会告诉你一些其他的漂亮的招数:

  1. git checkout master; git branch --no-merged

    这将显示所有不能快速转发到master的分支,即所有未合并的分支。

  2. git checkout master; git merge --no-ff --no-commit develbranch; git diff

    这是知道什么是合并实际上看起来像的唯一途径。在用git reset --hard查看后,您可以放弃合并。

  3. git branch --contains develbranch

    将显示develbranch可以快进到所有分支。这对于检查develbranch的所有更改合并到哪个分支很有用。

+0

git的差异起源/主产地...... /我的分支 没有注明的变化给我,除非我的git取第一。 我的远程源在这里被忽略,或者我如何强制Git比较远程分支? – NeverEndingQueue

+0

访问远程分支的唯一方法是通过git fetch(或pull) – opqdonut