在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查看)。
度过愉快的一天。
答案 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'
通过这样做,您将了解他们所做的所有更改......