2013-07-08 74 views
1

我有一個git倉庫(實際上是一個git-svn倉庫),我創建了一個新的分支並進行了多次提交。在當地的分支。現在我想在分支上進行的所有提交之間獲得差異。可以說我有原來的狀態和當前狀態之間5次提交:如何創建svn格式的兩個分支之間的連續git差異列表?

2792959ffd30fc54f56f82fa786b3bd9396e607a 
c006fcd294957761dcced3c88760c357af1c3613 
05d16d49def746b24f74e1306e16999f13e90027 
2d87f52dbe82df507a29a725b0f954c6d7abfc82 
66af1018d4f5621a7d021f98dc392e80ca826d35 

然後我想各有之間的所有四(4)indicidual的diff的上市承諾,在SVN版本(即,如果你有用svn diff創建差異)。

準確地說:我想看看

  1. 的提交信息對於每個提交已更改
  2. 可選擇在不同的文件進行
  3. 的差異:git的承諾哈希
+0

什麼是錯的'git的日誌$ somehash .. $ otherhash'?你不必使用實際的哈希,你也可以使用'HEAD'和'HEAD ^'... – mnagel

+0

由於使用日誌,我只能看到日誌消息。我想看看每個提交的差異... – Alex

+0

和'--full-diff' – mnagel

回答

0

要獲得兩個分支或兩個提交之間發生變化的完整列表,您可以使用git whatchanged

git whatchanged -p 66af1018d4f5621a7d021f98dc392e80ca826d35 2792959ffd30fc54f56f82fa786b3bd9396e607a 

-p標誌告訴GIT中使用文本區別,而不是一個十六進制的diff。見https://www.kernel.org/pub/software/scm/git/docs/git-whatchanged.html

+0

可能是最好的答案 – Alex

0

我想你可以簡單地做

git log --full-diff $somehash..$otherhash 

,您可以使用HEADHEAD^,而不是充滿哈希指提交。

+0

只顯示日誌條目,而不是差異。 – Alex

0

甚至可能更好:

git show $somehash 
+0

這隻顯示一個差異,不是全部 – Alex

相關問題