2015-12-10 76 views
0

在git中,如何查看上次合併提交時由我進行的更改僅限?只看到改變的行是我,而不是其他人改變的行。如何查看我在合併提交中所做的更改

通常當我推動衝突時,我會合並並解決一些衝突。解決它們之後,我想檢查我已經解決的衝突。我使用:

git show HEAD 

看到最後合併提交,它顯示了一些有用的信息,但同時也顯示出由別人所做的更改,不與我的變更發生衝突。或者我的變化,不會與其他人的變化相沖突。混帳顯示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中看到此內容?

例如混帳回購協議: https://github.com/LPodolski/git-merge-show-my-changes (我貼有相同的電子郵件提交,但筆者的別名是不同的,你可以看到,在使用git的日誌控制檯)。

祝您有愉快的一天。

回答

2

這有幫助嗎?

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

編輯:好吧,我有很長的回答:

既然你知道犯了導致的東西合併後:

步驟1:獲取提交哈希

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

這列出了所有的com參與合併的工作人員。 輸出示例:

commit 1c46adfadsf 
Merge: 0bfda16 d8340ff 
Author: Uday <[email protected]> 
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 <[email protected]> 
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' 

通過這樣做,你就會知道,他們所做的所有更改...

+0

不幸的是,我沒有看到合併提交中發生了什麼,只是一些衝突得到了解決,沒有發生什麼差異。至少git show HEAD向我顯示衝突文件中的所有更改: 兩個命令的輸出示例:http://pastebin.com/7WGAvuzQ – LPodolski

+1

試試這個:'$ git diff --ours' – uday

+0

我得到空命令,git show HEAD仍然像之前的pastebin一樣顯示 – LPodolski

相關問題