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

How can I get a diff of a file since the last time I merged?

我正在尝试将 master 合并到一个 dev b运行ch 中,其中有很多更改并且 运行 合并到一些合并冲突中。

如何使用git控制台命令?

所以假设我的 b运行ches 有以下最后 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 的日志的情况下找到这两个提交哈希值。

写下这个问题让我明白了如何寻找答案:

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

将显示指定提交与 master 分支中最新提交之间的差异。

注:

如果您想确保看到的是最新的,请改用 origin/master 来区分遥控器。

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

git diff dev...master filename.ext

查看git帮助差异