如何在合并提交中查看我所做的更改

How to see changes made by me in merge commit

在 git 中,如何查看我在上次合并提交中 所做的更改?只看到我更改的台词,而不是其他人更改的台词。

通常当我推送并且有冲突时,我会合并并解决一些冲突。解决它们之后,我想回顾一下我已经解决的冲突。我使用:

git show HEAD

查看最后一次合并提交,它显示了一些有用的信息,但它也显示了其他人所做的更改,这些更改与我的更改不冲突。或者我的修改,与其他人的修改不冲突。

git 的示例输出显示 HEAD:

  1.
- 2.
+ 2. zzzz
  3.
  4.
 -5. change A
 +5. change B
  6.
  7.
 -8.
 +8. zzzzzz
  9.
- 10.
+ 10.

我发现第 2 行和第 8 行没有冲突的变化,我对此不太感兴趣。与我真正感兴趣的第 5 行相冲突。

理想情况下我想看看。其他人在这一行中有什么,我在这一行中有什么,以及它是如何解决的(每个人的名字,例如作者 A:版本 A,作者 B:版本 B,作者 A 解析为 X)。

如果可能的话,我是否可以在 Phpstorm IDE(基于 Jetbrains IDEA)或其他突出显示已更改字符的 GUI 中看到它?

示例 git 回购: https://github.com/LPodolski/git-merge-show-my-changes (我使用相同的电子邮件发布了提交,但作者的别名不同,您可以在您的控制台中使用 git 日志看到)。

祝你有愉快的一天。

这有帮助吗?

git log -p --author=<authorname/yourname>

编辑:好的,我的答案很长:

因为你知道合并后结果的提交:

步骤 1:获取提交哈希

git log --author=Uday --merges -p -2

这列出了合并中涉及的所有提交。 示例输出:

commit 1c46adfadsf
Merge: 0bfda16 d8340ff
Author: Uday <author@email.com>
Date:   Tue Nov 27 22:30:36 2012 -0700

    Added datasets from others

步骤 2:然后 select 提交哈希并查看其他作者所做的提交的哈希。为此,您需要这样做:

$ git log <your commit after merge> -p -2

示例:

git log d8340ff -p -2

commit d8340ffcac2293a1bd9958278290234724cb099a
Author: Another author <another@gmail.com>
Date:   Tue Nov 22 1:34:57 2012 -0700

    commit msg blah blah...


diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..bb727a2
Binary files /dev/null and b/.DS_Store differ
diff --git a/Gemfile b/Gemfile
old mode 100644
new mode 100755
index 853b35e..891f41e
--- a/Gemfile
+++ b/Gemfile
@@ -1,12 +1,17 @@
 source 'https://rubygems.org'

-gem 'rails', '3.2.6'
+gem 'rails', '3.2.9'

 # Bundle edge Rails instead:
 # gem 'rails', :git => 'git://github.com/rails/rails.git'

通过这样做,您将了解他们所做的所有更改...