3
我們有一個項目,其中一個開發人員向主分支做了一些提交 - 而不是從主分支創建一個單獨的分支 - 並破壞了一些東西。如何:git:如何將提交的更改從主控移動到分支?
- 撤消主
- 這些提交建立從主分支
- 重新提交(或任何這樣做的正確的git的術語),這些提交到新的分支?
我們有一個項目,其中一個開發人員向主分支做了一些提交 - 而不是從主分支創建一個單獨的分支 - 並破壞了一些東西。如何:git:如何將提交的更改從主控移動到分支?
你可以做1 & 2,但你可以簡單打理約2 & 3,然後進行1
- 從主做一個分支
- 重新提交(或無論這個合適的git術語是什麼)那些提交到新的分支?
假設你有你的master
分支那些壞提交你的工作副本:
只需創建並切換到新的分支:
git checkout -b name_of_new_branch
,然後把它推到回購:
git push -u origin name_of_new_branch
你的同事現在應該可以這樣做:
git fetch origin
git checkout name_of_new_branch
- 撤消這些提交在主
git checkout master
git reset --hard HEAD~N
其中N
是你的同事的壞提交的數量。
那麼,如果你能在你的回購(在github上默認設置)覆蓋樹枝,然後你可以:
git push origin master --force
請特別小心,這個選項。如果我在你的鞋子裏,我會等到有人確認,那些命令是正確的;)