2014-10-19 73 views
-3

我做了一些提交到我的主git分支,並把一些錯誤代碼,我想擺脫。移動主分支舊的更改

Commit 1 
Commit 2 
Commit 3 

我想保留提交2,並擺脫提交1和3中所做的更改。提交2和提交1,3沒有交集。另外值得指出的是,從提交1和3開始的所有更改都侷限於特定目錄中的幾個文件,該提交2也沒有涉及。

我該怎麼用git來做到這一點?

+0

提交已經被推到遠程 – appleLover 2014-10-19 18:42:43

+1

看'git revert' – 2014-10-19 18:43:26

回答

0

你應該使用交互式混帳底墊:

git rebase -i HEAD~3 

您將看到3個提交列表。 刪除不需要提交的行並保存並退出編輯器。 Git將執行rebase操作並刪除提交

如果您已將自己的chanes推送到上游遠程,則需要執行強制推送,即強制覆蓋歷史記錄。 請記住,Git中只有一條規則 - 不要覆蓋已發佈的歷史記錄。 當你在一些項目上與很多人合作時,這是最重要的。在這種情況下,如果你推兒童車犯,我會建議要麼使用

git revert commitID 

或者只是修正錯誤,並承諾在commit3頂部的固定

相關問題