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

时间:2015-12-10 19:51:18

标签: git phpstorm

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

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

git show HEAD

要查看上次合并提交,它会显示一些有用的信息,但它也会显示其他人所做的更改,这些更改不会与我的更改发生冲突。或者我的变化,与其他人的变化不冲突。

git show 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)。 / p>

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

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

度过愉快的一天。

1 个答案:

答案 0 :(得分:2)

这有帮助吗?

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步:然后选择提交哈希的哈希并查看其他作者提交的提交。为此你需要这样做:

$ 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'
通过这样做,您将了解他们所做的所有更改......