【发布时间】:2013-05-10 12:38:58
【问题描述】:
我需要向团队展示我在解决合并冲突期间所做的更改。
我知道这有点难,但我当然相信这是有可能的。我已经尝试过git show -m 和git show -c。
【问题讨论】:
标签: git merge merge-conflict-resolution
我需要向团队展示我在解决合并冲突期间所做的更改。
我知道这有点难,但我当然相信这是有可能的。我已经尝试过git show -m 和git show -c。
【问题讨论】:
标签: git merge merge-conflict-resolution
查看合并提交(具有多个父项的提交)的哈希(或标记)并执行以下操作:
git diff hash hash^1 hash^2
它将输出更改的 3 路差异。
hash^(或hash^1)引用hash的第一个父提交hash^2引用hash的第二父提交
【讨论】:
git diff --cc hash hash^1 hash^2 将以与gitk 显示它相同的方式格式化差异。虽然不确定 OP 首选哪种输出格式... 实际上,没关系...git diff 默认情况下会这样做,似乎,当你给它三个哈希时...
dc = "!f() { HASH=$1; shift 1; git d --cc $HASH $HASH^1 $HASH^2 $@; }; f"
fatal: ambiguous argument 'hash': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: git <command> [<revision>...] -- [<file>...]>
hash 替换为真正的哈希或合并提交的提交标签...
如果您使用标准的gitk 工具,并单击合并提交,左下方窗格将显示冲突解决方案。
【讨论】:
git diff hash hash^1 hash^2 其中hash 是合并提交的哈希值。
随便用
git diff ORIG_HEAD MERGE_HEAD(or FETCH_HEAD)
MERGE_HEAD 为您的本地合并文件保留,ORIG_HEAD 是您要合并的可能冲突的提交。
FETCH_HEAD 是您在合并之前获取更改的 repo 的哈希值。
如上所述,PULL 仅获取(在远程仓库中,可能的来源)和 Merge
如有疑问,请查看您的 .git 文件夹以查看存储哈希的文件。
【讨论】: