2014-05-13 59 views
3

我們有一個項目,其中一個開發人員向主分支做了一些提交 - 而不是從主分支創建一個單獨的分支 - 並破壞了一些東西。如何:git:如何將提交的更改從主控移動到分支?

  1. 撤消主
  2. 這些提交建立從主分支
  3. 重新提交(或任何這樣做的正確的git的術語),這些提交到新的分支?

回答

3

你可以做1 & 2,但你可以簡單打理約2 & 3,然後進行1

  1. 從主做一個分支
  2. 重新提交(或無論這個合適的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 

  1. 撤消這些提交在主
git checkout master 
git reset --hard HEAD~N 

其中N是你的同事的壞提交的數量。

那麼,如果你能在你的回購(在github上默認設置)覆蓋樹枝,然後你可以:

git push origin master --force

請特別小心,這個選項。如果我在你的鞋子裏,我會等到有人確認,那些命令是正確的;)

相關問題