如何在合并提交中查看我所做的更改
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'
通过这样做,您将了解他们所做的所有更改...
在 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'
通过这样做,您将了解他们所做的所有更改...