2012-04-12 46 views
8

我有一些我不想在我的項目中提交的提交,但有一個基於它的提交,我確實需要它。 這是庫的我的GitHub的「網絡」圖(ASCII,因爲我現在還不能發表圖片):如何跳過git中的提交?

[]--[]--[_] 
|  | 
|  ------->| 
---------->[·]--[·]--[*] 

( - >表示合併)

我想刪除所做的更改兩個[·]提交,並將[*]之一放在上面的[_]上。 我試過合併和重新綁定,但它們應用了不需要的提交的更改。 這可能嗎?

對不起,如果我不清楚,英語不是我的母語。 在此先感謝。

回答

10

我可以給你兩個選擇:

  • 互動變基git rebase -i)提出您提交列表,編輯這個清單將改變操作的結果;允許您重新排序,刪除或標記這些提交用於其他操作。在你的情況下,你可以將[*]的分支重組爲[_],並刪除不需要的提交行。

  • Cherrypick讓您應用單一的變化提交到另一個分支。在你的情況下,你可以簡單地將[*]挑選成[_]的分支。

2

你可以看看你的_cherry pick*。如果你想在一個單獨的分支上,你可以從_分支。