2013-04-09 309 views
1

我想知道,如果你使用git rebase --preserve-merges使用的確切修訂版本範圍?

git rebase --preserve-merges 

什麼是重訂嘗試回放提交的確切名單。

更具體的說,我說的是主題和主分支。以前有一些從主人到主題的合併(所以主題不會離主人太遠)。從那以後,還有一些關於主題的提交。

現在假設我現在在主變基的話題,像這樣:

git checkout topic 
git rebase --preserve-merges master 

什麼是承諾git會在底墊「臨時區域」存儲,然後重新應用對主頂部的確切集合?

額外的功勞,如果答案概括使用 - 行和其他參數。

爲了比較,「混帳幫助重訂」顯然,集合提交重新申請是由<上游> ..HEAD給出(在我們的例子master..topic)

+0

參見http://stackoverflow.com/questions/15915430/what-exactly-does-gits-rebase-preserve-merges-do-and-why – Chris 2013-04-21 05:29:26

回答

0

這似乎沿着約的

git log --ancestry-path `git merge-base master topic`..topic 

線(即,發現兩個分支之間的合併基礎,並發現它與主題之間的提交。)

這是不完全正確,雖然。在我的repo中,這產生了一個非常類似的提交列表,用於重置 - 保留 - 合併使用,但並不完全相同。 (例如提交的總數不完全相同)。