2012-04-06 96 views
32

我有一個擁有實際來源的分支,而且我沒有長時間提交任何提交,現在它已完全過時。我想用我的分支內容替換主人的內容。一種方法是檢出分支和主人,刪除主人的內容並將分支內容從分支複製到主人,然後將結果推送給主人。Git - 將分支移至主人

它的工作原理,但我相信必須有一些git命令以更簡單的方式做到這一點。

有人知道該怎麼做嗎?

+0

你怎麼知道master上沒有任何價值?你可以用'git log branch..master'來查看是否有任何提交的master上不在分支上。如果有,那麼'git checkout master; git merge branch'會包含這些提交中的更改。 – Kent 2012-04-07 14:04:28

回答

56

您可以使用下面的命令具有碩士點到新的位置:
git branch -f master branchToMoveMasterTo

什麼這實際上做的是創建一個名爲master新的分支指向branchToMoveMasterTo。既然我們已經有一個叫master的分支,我們需要-f這個標誌來表示我們要刪除原來的master

+0

這個答案應該是絕對可以接受的! – user984621 2013-03-04 20:58:33

+4

謝謝你耶穌 – dezman 2014-03-17 22:53:39

+0

這工作正常。但是有什麼辦法可以保留老主人的歷史嗎?我的意思是,它如何看起來像一個普通的提交,但改變了一切? – 2015-05-06 07:54:12