2012-02-16 88 views
12

我想創建一個單一的提交,將使當前分支內容(和隱式同步)與另一個分支相同。創建提交覆蓋當前分支內容與另一個

這實際上相當於將當前分支頂部的另一個分支的結帳內容粘貼並一次性提交所有內容。

回答

18
$ git reset --hard <another branch> 
$ git reset --soft [email protected]{1} 
$ git commit 

第一個(硬)重置將其他分支的內容抓取到您的工作目錄中。第二次(軟復位)將您的提交指針放回原始分支的頂端,但根本不會更改索引中的文件,從而將它們留在其他分支中。然後,您可以在當前分支的最新提交之上提交該狀態。

+0

第一條命令後,由於<當前分支>已被更改,所以第二條命令不執行任何操作。我所做的就是使用'git reset --soft origin/current-branch',這是我所期望的。 – Nick 2012-02-16 08:44:47

+0

對不起,是的,通過'當前分支'我的意思是在你的問題中插入你稱爲'當前分支'的分支。 :)我編輯它只是使用'HEAD @ {1}'代替,這將會產生正確的效果。 – Amber 2012-02-16 08:45:57

+0

我們走了 - 非常感謝您分享您的xp w/us :) – Nick 2012-02-16 08:48:56

相關問題