グーグルでこの投稿に来る他の人々のために。ブランチをマージするか、リベースするかの2つのオプションがあります。どちらも動作は異なりますが、結果は似ています。
受け入れ答えがあるリベース。これは、に行われたすべてのコミットがかかりますour-team
し、その後に行わコミットを適用しますfeaturex
、必要に応じてそれらをマージするプロンプトを表示します。
リベースの1つの注意点は、ブランチ履歴が失われる/書き換えられることです。基本的に、ブランチはコミット123abcではなくコミット456cdeで開始されたことをgitに伝えます。これはブランチで作業している他の人々に問題を引き起こし、いくつかのリモートツールはそれについて不平を言うでしょう。あなたが何をしているのか確信があるなら、それが--force
旗の目的です。
どのような他のポスターが示唆されていることであるマージ。これにより、featurex
ブランチはどのような状態でも取得され、現在の状態とマージしようとしour-team
ますour-team
。にプッシュする前に、1つ、大きな、マージコミットを実行し、すべてのマージエラーを修正するように求められます。違いは、新しいコミットの前にfeaturex
コミットを適用してからour-team
、違いを修正することです。また、履歴を書き換えるのではなく、以前のコミットを書き換えるのではなく、コミットを1つ追加します。
どちらのオプションも有効であり、連携して機能します。機能ブランチに対して通常行われること(つまり、git-flowなどの広範なツールや方法論を使用している場合)は、それをメインブランチにマージし、多くの場合、マージリクエストを実行して、すべての競合を解決します。 1つ(または複数)のマージコミットに発生します。
リベースは興味深いオプションであり、最終的にマージを実行する前にブランチを修正し、1回の大きなマージコミットを実行する手間を軽減するのに役立ちます。