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