所以我有一個分支,我已皇家搞砸了,它現在有超過300個提交,我可以看到是舊的提交屬於其他的分支,他們的方式來掌握。Git:創建分支從幾個特定的提交,但在幾百個其他提交
我基本上只是想讓分支看起來像它在我打破它之前。如果有必要,我可以創建一個新的,我只是想再次推動分支,它必須像原來那裏的10個提交。
含義我希望它從一個特定的提交開始,並在特定的提交結束。那些提交目前在相關的分支上,它們也是直接相互關聯的,它們之前只有300個提交,我不想要。
所以我有一個分支,我已皇家搞砸了,它現在有超過300個提交,我可以看到是舊的提交屬於其他的分支,他們的方式來掌握。Git:創建分支從幾個特定的提交,但在幾百個其他提交
我基本上只是想讓分支看起來像它在我打破它之前。如果有必要,我可以創建一個新的,我只是想再次推動分支,它必須像原來那裏的10個提交。
含義我希望它從一個特定的提交開始,並在特定的提交結束。那些提交目前在相關的分支上,它們也是直接相互關聯的,它們之前只有300個提交,我不想要。
您可以按照下列步驟操作。
在所需的提交中創建一個新分支,您需要啓動相關分支並檢查它。
Cherry按照正確的順序將您實際需要的每個提交按鈕分配到新分支(因爲只需要10次提交,所以這應該很簡單)。
將有問題的分支硬重置爲新分支現在指向的提交。
如果有大量您在分支機構和小型號碼,你需要刪除提交的要提交的,你可以交互變基(git rebase -i
)的問題到新分支的分支,上述步驟1後(它會交互地詢問你需要添加的提交,並提交你需要忽略)。
在你開始之前,最好在你的分支指向的同一個提交中創建一個新的分支,這樣你可以很容易地恢復,如果你搞砸了。在開始之前備份完整的存儲庫也是一個好主意。
非常感謝你,像一個魅力工作。 – BlindChicken
適當的解決方案取決於你如何「破壞」分支。你能鏈接到你的倉庫嗎?如果不是,你可以發佈'git log --oneline --graph - decorate'輸出相關的部分嗎?具體的日誌消息並不重要,地形和分支機構都是如此。 – Schwern
在300次不需要的提交(使用git checkout)之前,回到最後一次提交,然後在不需要的300次提交之後選擇10次提交。 – eftshift0