自上次合并以来,如何获取文件的差异?

时间:2016-07-12 18:18:15

标签: git merge git-diff merge-conflict-resolution

我正在尝试将master合并到一个带有大量更改的dev分支中,并遇到一些合并冲突。

如何使用git控制台命令获取自我的开发分支中最后一次共享提交以来文件中更改内容的差异?

所以我要说我的分支机构有以下最后5次提交:

master:
  abb
  abc
  abd
  abe
  abf

dev:
  abb
  cda
  abc
  abd
  cdb (merge master to dev at abd)
  cdc

我现在想要相当于:

git diff abd..abf filename.ext

但是,因为我正处于冲突合并的中间,所以我不确定如何在不查看master和dev的日志的情况下找到这两个提交哈希值。

2 个答案:

答案 0 :(得分:2)

写下这个问题帮助我意识到如何搜索这样的答案:

git diff $(git merge-base master dev) master filename.ext

<强>解释

git merge-base master dev

会找到most recent common ancestor between the two branches

git diff <base commit> master

将在指定的提交和主分支中的最新提交之间显示差异。

注意:

如果您想确定您正在查看最新信息,请使用origin/master代替在遥控器之间进行区分。

答案 1 :(得分:0)

Git diff有一个特殊形式的'...'运算符,因此以下内容也适用。

git diff dev...master filename.ext

参见git help diff