2013-01-05 178 views
0

我有兩個brances,即master和development。 所有的開發工作都將在開發分支內部完成,並將與主開發部門合併。Git:我如何從分支中刪除特定的提交

我檢出了主分支,櫻桃挑選了屬於開發分支的5個提交併將其推送到主遠程存儲庫。

所有這些事情都很好。

git checkout master 
git status 
git cherry-pick a7644fc2bc7b09fe88cb1cbb75e0547dd1d7321d 
git cherry-pick 335bf121a6aa7bc1e334b94d1a742b0f9ecfb9b6 
git cherry-pick 5dee244a47d0346d5080ecd34984683c8f442c93 
git cherry-pick 9f8fe22b346ba80089126afbf29ac063ea7b9b32 
git cherry-pick 5dee244a47d0346d5080ecd34984683c8f442c9h 
git push 

現在我的要求是,我需要刪除一個櫻桃選擇從主要做構建。

我不知道,但是當我用Google搜索,我發現這兩個命令

git revert --strategy resolve 

git rebase 

請讓我知道,從主分支

更新部分

當我做混帳how can i remove a particular commit恢復564d01c3870ca5a55b171fc6f061e0cc2a8f4879這個屏幕出現了,我可以避免這種??

enter image description here

回答

2

使用git revert <commit>。如果您不希望編輯器彈出使用--no-edit選項。如果您不想實際上提交回復,只需將其應用於您的工作目錄,請使用--no-commit選項。

如果您只推送到受控存儲庫,並且您肯定知道沒有人從中取出它,那麼您可以執行一些操作,然後重新挑選您實際需要的提交。但推薦使用而不是

+0

非常感謝,但是當我做git恢復comitid時,納米屏幕出現了,我可以避開那個屏幕? – Pawan

+1

納米屏幕與提交時獲得的屏幕相同,即它會提示您提交提交消息,因爲您基本上正在創建一個提交以恢復先前的提交。你可以使用'git revert --no-edit '來阻止屏幕,但是它只會使用你之前看到的信息而不給你編輯它的機會。 – poke

+0

@PreethiJain編輯爲不啓動編輯器。 – kmkaplan