2012-05-08 8 views
1

私はマスターになりたい新しい仕事をしています。それはあまりにも多くのマージまたはrebase(私は手動で機能を移植したが)マスターから発散している。私は容易にgit branch -D master; git checkout new-master; git checkout -b masterをやることができると分かっていますが、私はフォークを壊したくありません。既存のフォークを台無しにすることなくgitで新しいブランチをマスターにする

理想的には、現在のマスターを私の新しいブランチから変更を適用することができる状態にするコミットを紹介したいと思います。フォークを持つ人は誰でもただちにgit pull origin masterとgitを実行できます。

これは可能ですか?

答えて

1

あなただけのブランチmasterが新しいその内容master^masterの間のデルタは、「ブランチbranchの内容と一致するようにすべてを変える」ことで、branchをブランチに同一のコミットを参照したい場合は、それは非常に簡単です:

$ git checkout branch 
$ git symbolic-ref HEAD refs/heads/master 
$ git status # you'll see what you're about to commit, here 
$ git commit # make that new commit 

masterための分岐履歴はないはここbranchを参照すること。

あなたが道にbranchルックスをすべてを変えるマージ見えるようにコミットしたい場合は、これはトリックを行うようだが、私はよくそれをテストしていません。今すぐ

$ git checkout master 
$ git merge --no-commit -s ours branch # this sets up the merge 
$ git rm -r .       # this empties it out 
$ git checkout branch -- .    # this adds everything from branch 
$ git status # again, just to see what you're about to commit 
$ git commit # and maybe edit the message to note that you took "branch" 

master^は何のマスターであります似ていて、master^2の先端はbranchの先端です。

関連する問題