2011-11-15 10 views
0

私のクローンのマスターの上にコミットとマージが混在しているとしましょう。今私はどこかにプッシュしたいですが、変更を早送りできないというメッセージが表示されます。マージでリベースするには?

私がコミットしたばかりの場合は、pull --rebasepushを実行しています。しかし、途中で合併すれば、リベースを引っ張って、それらを破壊するでしょう。この状況にどう対処すればよいですか?

答えて

0

私が正しく理解している場合は、git fetchとします。リモートブランチチップを取得したら、手作業でrebase/merge/cherry-pickを実行します。必要に応じて配置したら、変更をリモートに戻します。

Hereは、プルの代わりにフェッチを使用する理由について、いくつかの大きな理由があります。

+0

私はむしろそれを手動でやっていません。私が後にしているのは、「上流のマスターの上に自分の変更を加えるだけの」コマンドです。 'pull --rebase'はすでにそれを行いますが、プロセス内の情報を破壊します。 – viraptor

+0

FFマージを行う必要がありますか?あなたはデフォルトの 'git pull'を使うことができ、併合が計画どおりになることを望みます。 – Andy

+0

私は別のマージポイントを望んでいません - それはしばらくするとあまりにも混乱します。私はマスターの上に私の変更を移動したいです。 – viraptor

0

マージをリベースして保存するには、rebaseコマンドに--preserve-mergesオプションを指定します。各コミットがパッチとしてどのくらい簡単に適用されるかによって、これは簡単ではないかもしれません。

私は最初に変更を取得してから、検査して対応します。

関連する問題