検索

ホームページ  >  に質問  >  本文

git rebase 与 merge

git rebase 是不是就是跟 merge master 到你的 branch 产生代码的效果一样的, 不考虑 history log 等其他的因素

为情所困为情所困2796日前575

全員に返信(1)返信します

  • 为情所困

    为情所困2017-04-27 09:05:25

    履歴ログは考慮しないと言っているので、これ以上言うことはありません…

    実際には、リベースには方向の制約はありません。マスターをブランチにリベースしたり、その逆に任意のブランチをリベースしたりすることができます。

    本質的に、Merge は 2 つのツリーの履歴レコードの差異を無視し、Merge を実行する時点でのみ差異をマージします。一方、Rebase は 2 つのツリーの履歴レコードの差異を整理してからマージします。

    視覚化できる思い出:

    1. Merge は「1 つにマージする」という意味です (Merge は 2 つのパーティをマージするだけではないため、「2 つ」ではなく「そして」と言ったことに注意してください)
    2. リベースとは、「あなたを私の下に置き、私はあなたの上に立ち、最後にマージします。」を意味します。

    たとえば、マスターからブランチを分離し、それに基づいていくつかのコミットを作成しました。この時点で、マスター上には他の人による新しいコミットもあります。新しいブランチで master をマージすると、新しいコミットがブランチに表示され、変更と master の変更の組み合わせが記録されます。 2本の線が1本に統合されたようなものです。リベースすると、デタッチした時点から開始して、マスター上の新しいコミットが最初に設定され、次に自分のコミットが更新の上に書き換えられます。したがって、コンテンツはまだマージされていますが、履歴は連続しているものと見なされます。

    返事
    0
  • キャンセル返事