2012-04-06 15 views
32

私は実際のソースを持つブランチを持っていますが、私はマスターに長い間コミットしておらず、現時点では完全に古くなっています。マスターのコンテンツを私のブランチのコンテンツに置き換えるだけです。これを行う1つの方法は、ブランチとマスターの両方をチェックアウトし、マスターのコンテンツを削除し、ブランチからマスターにコンテンツをコピーし、そのプッシュ結果をマスターにすることです。Git - ブランチへのブランチ移動

これは機能しますが、より簡単な方法でそれを行うにはいくつかのgitコマンドが必要だと思います。

誰かがそれを行う方法を知っていますか?

+0

マスターには何も残っていません。 'git log branch ... master'で確認して、ブランチにないマスターにコミットがあるかどうかを調べることができます。もしあれば、 'git checkout master; git merge branch 'にはそれらのコミットの変更が含まれます。 – Kent

答えて

56

あなたは新しい場所にマスターポイントを持って、次のコマンドを使用することができます。
git branch -f master branchToMoveMasterTo

branchToMoveMasterToを指すmasterと呼ばれる新しいブランチを作成してこれは実際にやっています。 masterというブランチが既にあるので、元のファイルを削除したいと言う場合は、-fフラグが必要ですmaster

+0

この回答は間違いなく受け入れられるはずです! – user984621

+4

ありがとうございますjesus – dezman

+0

これは正常に動作します。しかし、古いマスターの歴史を保存する方法はありますか?つまり、どのように普通のコミットのように見えるのですか?すべてを変えますか? –

関連する問題