我正在跟蹤使用git的svn倉庫。合併在2014-01-09(生產承諾A
)和2014-02-12(生產承諾B
)上完成。當我git checkout master; git log
,我看到提交的合併,但我也看到,例如,對一個分支(這是作爲B
的一部分合並)作出的2014-02-04(C
)提交。git-svn - 爲什麼其他分支的提交混入主分區中提交?
爲什麼在主幹上運行git log
時,針對分支的提交會顯示出來?
我發現這一點的同時嘗試我的主人和樹枝倒回到特定日期時間,試圖再次執行合併B
,看看存在哪些衝突。我假設我可以git checkout master; git reset --hard B^; git merge branch;
,但那不起作用,然後我看到從我的幹線日誌分支這些額外的提交併感到困惑。
任何幫助你可以提供關於這個問題將非常感謝!
'--first-parent',它不跟蹤僅通過合併另一個分支到當前分支中的提交。儘管如此,這並不完美,因爲git基本上沒有一個提交的分支的概念。 – Eevee
啊,謝謝!我沒有意識到git-svn太聰明瞭。我很久以前就注意到,當我'git svn clone'ed,'git log --oneline --graph'沒有正確地跟蹤分支。 「好吧,」我說,「總比沒有好。」我沒有意識到後來的'git svn rebase'等等,*不能正確地追蹤分支!感謝你的回答! –
我原本以爲你的意思是合併發生在'git'方面,當我意識到你的意思是發生在'svn'方面時,我開始猜測我的答案。我找不到任何提供明確答案的參考資料。看起來'git'必須非常聰明才能將'svn'合併翻譯成'git'合併,因爲它們是非常不同的概念。但我無法弄清楚還會發生什麼。 – patrickvacek