2010-11-20 2 views
3

私は通常、私のMasterブランチで作業し、Productionにプッシュします。私は誤ってプロダクションに携わり、アプリを分岐してデプロイしました。現在、私のプロダクションには最新バージョンがあります。マスターには古いバージョンがあります。Gitプロダクションとマスターは同じではない

マスターブランチファイルをProductionと同じに更新するにはどうすればよいですか?どのコマンドを発行するのですか?

私は将来、Masterブランチでのみ注意して作業します。ありがとう。

答えて

3

Gitは生産

をリベースあなたの現在のブランチmasterを作成し、

Gitは生産

または

をマージ実行するには、違いをmerge vs rebaseを参照してください。

+0

この2番目の例は正しくありません。 Rebaseはマージから「逆の方法」で動作します。プロダクションブランチに切り替えて 'git rebase master'を実行したいとします。いずれにしても、両方のブランチで同じコミットを望んでいるので(この場合、すでにプロダクションブランチをリモートにプッシュしている可能性が高いため)、この場合リベースは推奨されません。ここではマージがより適切です。 –

+0

プロダクションブランチで 'git rebase master'を実行すると、 "現在のブランチプロダクションは最新です。 "私が 'git rebase production'をマスターで実行すると、早送りします。 "最初に、頭を巻き戻してその上で作業を再生します... 早送りマスターからプロダクションへ。 –

+0

私は最初の例を使用しましたが、今は同じです。しかし、私が 'git status'を実行すると、'あなたの支店が5つのコミットによって 'origin/master'より先に進んでいます。これをどうやって解決するのですか? – Victor

1

リモートにプルされていないか、リモートが上書きされた場合は、プロダクションからマスターに新しいコミットをチェリーピックアップし、プロダクションからコミットを削除してから(通常のリベース)マスターから生産ブランチを更新するための-mergeサイクル。

各ステップについて正確な構文を確認してください。gitは非常に強力であるため、すべてのネジを固定できますが、ネジをかけることもできます。

関連する問題