我正在尝试将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的日志的情况下找到这两个提交哈希值。
答案 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