コンテンツにスキップ
GitTree

動画: マージとリベース: グラフで選択する

動画は YouTube のプレーヤーでプライバシー強化モードで再生されます。

  • 6 分の動画
  • 英語ナレーション · English and Arabic 件のキャプション
  • YouTubeで見る

同じ分岐の 2 つの同一のコピーからマージとリベースを実行し、2 つのグラフ、親、およびファイル ツリーを比較し、それらの間で決定する 1 つのルール、つまりすでにコミットを持っている人がいるかどうかを学びます。

レッスン全体を読む

この記事には、ビデオのすべての手順とコマンド、演習、質問が記載されています。

レッスンに行く

ビデオトランスクリプト

ビデオのナレーションが次々と流れます。

  1. マージまたはリベース?同じ仕事でも辞められる 二つの異なる歴史。
  2. 両方を同じスタートから実行します point and compare.
  3. ブランチにはコミットが 1 つあります。 The updated branch has another.
  4. どちらも同じコミットから成長したものであるため、どちらも もう一方が含まれています。
  5. まず分岐を用意して2つ作ります 同一のコピー。
  6. 公平なテストには同じ参照とファイルが必要です in both copies.
  7. Here is the first copy.合併します これ。
  8. そしてこれが2枚目です。 We keep it リベースではそのままです。
  9. 「updated-main」を右クリックし、その「updateed-main」を選択します。 マージコマンド。
  10. [名前を付けて記録] で、[常にマージ] を選択します コミットします。
  11. 一度マージを選択し、実際のマージを待ちます result.
  12. 新しいコミットには 2 つの親があります。 commit、次に updated-main です。
  13. さて、2枚目です。 It still has the two オリジナルのコミット。
  14. [updated-main] を再度右クリックし、[更新済みメイン] を選択します。 今回はリベースします。
  15. ダイアログではブランチに名前を付け、 ターゲット。 Leave both options off.
  16. Rebase once. Git はコミットをリプレイします updated-main の先頭。
  17. 再生されたコミットには新しい親があるため、 新しいIDを取得します。
  18. 古いコミットは失われません: レスキュー ブランチはまだそれを指しています。
  19. Now compare the files.そのページは、 どちらのコピーでも同じです。
  20. 統合ノートも同様です。 Same files, 違う歴史。
  21. 2 つのグラフを見てください。ひし形と マージコミットと直線。
  22. では、どれを使用すればよいでしょうか? Ask who else あなたのコミットがあります。
  23. 他の人が持っている場合はマージします。 A rebase would 彼らの歴史を書き換える。
  24. コミットがプライベートの場合、リベースは 安全で直線が得られます。
  25. どちらもコードを改善するものではありません。ルール is about ownership.
  26. 今度はターミナルで証明してみます。 First, the 各チップの親。
  27. マージ コピーの 3 つの ID: コミット、 and its two parents.
  28. リベース コピーの 2 つの ID: コミット、 そしてその一方の親。
  29. 次に、ファイル ツリー: 1 つの ID、出力 2回。 Same files.
  30. ただし、2 つのコミット ID は異なります。 Equal 木々、さまざまな歴史。
  31. 入力を変更します。ブランチに次のものがあったとします。 独自のコミットはありません。
  32. デフォルトのマージは早送りされます。 マージコミットなし。
  33. 他の人が作成したブランチをリベースしないでください すでに持っています。
  34. ツリーが異なる場合は、開始時点を比較します。 refs first.
  35. 結果を削除して 2 つを強制しないでください。 一致します。
  36. 練習: 両親、ID、および あなた自身のコピーからの木。
  37. 次に、順序を変更し、まとめて、言い換えます。 ローカルコミット。

すべてのチュートリアル