2016-10-13 41 views
0

因此,我一直在研究一些小代碼更改,並將它們推送到我們的develop分支(master在創建發佈後進行更新)。無論如何,我注意到一旦我在GitHub中使用「Merge pull request」將任何更改合併到develop分支中,在開發中執行git log就會發現有兩個提交。這是我做的一個典型的歷史。兩次提交出現在每次合併的日誌中

  1. 從發展: git checkout -b mylocalbranch develop
  2. 讓我的新分支我的變化,做一個addcommitgit push --set-upstream origin mylocalbranch
  3. 創建我的GitHub上的PR(做1-3步昨天)
  4. 當所有很酷,點擊GitHub中PR上的「合併請求」按鈕,並刪除分支,也是通過Github完成的(今天這一步)。

而現在,如果我更新develop並做了git log,我看到類似以下內容:

commit b195f327fb7b80ebhfye5b6d17af6686tgs6dc79 
Merge: d4c3f43 mwi6h80 
Author: Meanwhile InHell <[email protected]> 
Date: Thu Oct 13 10:05:05 2016 +0100 

    Merge pull request #666 from MWIH/mylocalbranch 

    Updates to stuff that needed updated 

commit mwi6h80664f09b95b8ce9xd3624435337259g47o 
Author: Meanwhile InHell <[email protected]> 
Date: Wed Oct 12 16:54:05 2016 +0100 

    Updates to stuff that needed updated 

我不明白爲什麼我第一次提交(非合併一個)出現在develop分支上。我有一種感覺,它與我在分支創作結束時出現的「develop」有關; git checkout -b mylocalbranch develop

+1

可能的重複[在Git中刪除合併提交](http://stackoverflow.com/questions/30561895/removing-merge-commits-in-git)或http://stackoverflow.com/questions/16326381/is -there-a-way-to-hide-merge-commitits-in-github-when-comparing-branches – PeeHaa

+0

我不想刪除這些提交,因爲這些門票你鏈接,我想知道他們爲什麼被創建首先,我公司的其他人不存在這個問題。 – MeanwhileInHell

+0

我不明白你在這種情況下要問什麼。 – PeeHaa

回答

3

如果你做了多次提交,你會在開發分支中看到所有這些提交,因爲它們已經被合併到開發中。

合併本身也算作一個提交,所以你可以看到分支在哪一點被合併。

除非你想知道關於它的其他信息,否則沒有什麼更多。

+1

準確地說,合併提交是這樣一個提交,它顯示分支的哪個HEAD連接。合併命令總是引入一個額外的提交。它提供了在合併之後恢復更改的可能性,僅恢復一個單獨提交而不是全部來自外部分支。爲了避免一個額外的提交你可以使用rebase命令。 – gauee