ホームページ >開発ツール >Git >git rebase と merge の違いは何ですか?

git rebase と merge の違いは何ですか?

hzc
hzcオリジナル
2020-06-12 16:21:469452ブラウズ

git rebase と merge の違いは何ですか?

merge と rebase

タイトルの 2 つのコマンド、merge と rebase はどちらもブランチをマージするために使用されます。

rebase コマンドと 2 つのコマンドの原理についてはここでは説明しません。詳細な説明については、こちらを参照してください。

以下の内容では、実際の運用における両者の違いを中心に説明します。

ブランチとは

ブランチは、同じプロジェクト内の複数の人々の共同開発を促進することです。例: 全員がそれぞれのブランチの開発プロセス中に、互いに影響を与えることなく異なる機能を開発し、完了後、開発ブランチにサブミットされます。開発効率が大幅に向上します。

ブランチのマージ

全員が開発用のブランチを作成します。開発が完了し、開発ブランチにマージする必要がある場合は、merge コマンドを使用する必要があります。

競合とは

マージ時に競合が発生する可能性があります。

競合は、マージ中に異なるブランチが同じ場所を変更するために発生します。そのため、マージするときに git はどれを保持したいのかを認識できないため、質問 (競合リマインダー) を生成し、競合を解決するために保持したいものを手動で選択できるようにします。

マージとリベースの違い

1. マージとリベースを使用した後の git ログの違い マージ コマンドは、マージされたブランチのコミットを保持しません。

git rebase と merge の違いは何ですか?

2. 競合に対処する方法:

  • (1 つの頭脳) merge コマンドを使用してブランチをマージし、競合を解決し、 git add. と git commit -m'fixconflict' を実行します。この時点でコミットが生成されます。

  • (対話型) rebase コマンドを使用してブランチをマージし、競合を解決し、 git add . および git rebase -- continue を実行すると、追加のコミットは生成されません。この利点は、「クリーン」であり、ブランチ上のブランチを解決するために無意味なコミットが発生しないことですが、欠点は、マージされたブランチに複数のコミットがある場合、複数の競合を繰り返し処理する必要があることです。

3. git pull と git pull --rebase の違い: git pull は、「get」と merge という 2 つの操作を実行します。したがって、リベースを追加するということは、リベース メソッドでブランチをマージすることを意味し、デフォルトはマージです。

推奨チュートリアル: 「

Git チュートリアル

以上がgit rebase と merge の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。