2014-06-11 60 views
0

想象一下,一個倉庫的狀態如下:在我的機器如何在解析和提交之前記錄從'git merge'引入的提交?

feature  *-----* 
      /
master *---*---*---* 

clone然後結帳master

然後我merge分支與feature有衝突。

執行git log --graph只顯示提交至我的HEAD,並將排除feature分支的不同提交。換句話說,圖中的頭節點總是從先前的提交收斂。

我該如何獲得一個視圖,其中包含merge之前引入的發散提交,它們在之前解析並提交它們?

+0

問題是'git log --all'沒有按時間順序顯示我的提交,至少不是完整的。我必須進一步向下滾動才能看到不同的'feature'提交,它與'master'的提交不是按照時間順序排列的。 IntelliJ在查看所有分支的日誌時按順序顯示它們:我想'git log'會在某些情況下由於ascii呈現限制而造成這種情況,以限制圖形的寬度。 –

回答

1

正如@knittl指出的那樣,你沒有合併提交,所以git默認只能看到master。如果你也想看到feature的提交,請列出你想要的日誌。對於這一點,你會希望要麼

git log --graph --decorate --oneline master...feature 

git log --graph --decorate --oneline master..feature 

所有法術各組提交的方式請參見gitrevisions


順便說一句,讓自己對這些日誌選項的別名,礦山lgdo
git config alias.lgdo log --graph --decorate --oneline
從這時起,git lgdo工作的享受。

1

git merge發生衝突時,則不會創建新的提交。您首先必須解決提交,然後手動運行git commit。之後你可以看到提交的父母。 git show $merge_commit會告訴你衝突的解決方案(差異不在父母之中)

相關問題