WEBVTT 00:00:00.286 --> 00:00:03.221 Git Rebase は 既存のコミットに対して行い― 00:00:03.221 --> 00:00:06.540 今日から始まるブランチに 配置することができるものです 00:00:06.726 --> 00:00:08.937 ♪ (ジャズ風のテーマ音楽) ♪ 00:00:12.355 --> 00:00:14.501 ブランチを作成するのは 難しい決断です 00:00:14.715 --> 00:00:17.133 今日からにすべきか 後で開始するようにすべきか? 00:00:17.475 --> 00:00:20.618 重要な修正がいくつか 今まさに起こっているかもしれません 00:00:20.771 --> 00:00:22.881 明日まで待った方がいいのでしょうか 00:00:23.026 --> 00:00:26.101 Gitなら そんな難しい決断は不要です 00:00:26.489 --> 00:00:28.140 好きなときにブランチを開始して 00:00:28.161 --> 00:00:31.389 実行するつもりの変更を 残しておきましょう 00:00:31.507 --> 00:00:33.353 特定の機能や 00:00:33.750 --> 00:00:35.907 バグや目的の修正に 特化したものにします 00:00:38.976 --> 00:00:40.699 マスターブランチで起こりつつある 00:00:40.699 --> 00:00:42.383 重要な修正に組み込むため― 00:00:42.383 --> 00:00:44.647 この変更を履歴上では 00:00:44.647 --> 00:00:46.432 後から開始したい場合は どうすればいいでしょう? 00:00:46.860 --> 00:00:49.686 問題ありません Rebase が助けてくれます 00:00:50.038 --> 00:00:52.775 一般的な使用法ではRebase によって 00:00:52.775 --> 00:00:57.868 ブランチを履歴の後の方に 再配置できます 00:00:58.362 --> 00:01:02.899 つまりあなたのブランチに 分岐させておいた変更を全て 00:01:03.124 --> 00:01:05.707 まるでマスターブランチで 現在起こっている作業の 00:01:05.935 --> 00:01:08.362 あとから起こったように見せるのです 00:01:09.019 --> 00:01:11.456 行うことは同じですが 00:01:11.456 --> 00:01:14.580 マスターブランチから 今後作られるブランチへと 00:01:14.580 --> 00:01:17.290 逆マージするよりも 履歴がすっきりします 00:01:17.707 --> 00:01:20.485 後のブランチで表示される コンテンツは同じですが 00:01:20.720 --> 00:01:23.503 マージが後のブランチに行われるといった 00:01:23.757 --> 00:01:26.969 複雑さや履歴上の記録が 残りません 00:01:29.876 --> 00:01:32.124 rebase コマンドによって 00:01:32.274 --> 00:01:35.160 ブランチにある全てのコミットが 変更されることを覚えておいて下さい 00:01:35.550 --> 00:01:37.801 全ての作業を保存しますが 00:01:38.057 --> 00:01:41.201 場所や他のコミットに対する関係性は 00:01:41.201 --> 00:01:42.583 全て変更されます 00:01:43.075 --> 00:01:46.485 これは基本的に 他の人が作業していない 00:01:46.485 --> 00:01:48.643 自分だけのブランチに行う作業です 00:01:48.970 --> 00:01:50.243 関係性や 00:01:50.243 --> 00:01:52.322 各コミットの識別名における変更により 00:01:52.322 --> 00:01:55.380 他の人の作業と一致させるのは 難しいのです 00:01:55.573 --> 00:02:00.041 あなた が作業している ブランチについて話していきますが 00:02:00.492 --> 00:02:04.058 それらの制約を考えると 使用法はとてもシンプルです 00:02:04.471 --> 00:02:07.168 Git checkoutは 後に作られるブランチに行い 00:02:07.647 --> 00:02:12.443 git rebase はソースブランチ 大体マスターブランチに行います 00:02:13.231 --> 00:02:15.402 そうすると後に作られるブランチに 00:02:15.402 --> 00:02:17.983 行われるはずのコミットを すべて反復して 00:02:17.983 --> 00:02:22.797 機械的に書き直されたかのように マスターブランチの 00:02:23.098 --> 00:02:27.590 最新の時点から再生します 00:02:27.889 --> 00:02:29.561 このプロセスが完了したら 00:02:29.766 --> 00:02:32.862 個々のコミットがすべて 行われたことを確認して 00:02:33.390 --> 00:02:36.310 rebase が完了したことを 知らせてくれます 00:02:36.310 --> 00:02:37.898 そしてあなたは指示を実行する前と 00:02:37.898 --> 00:02:40.174 同じような状態に見える 00:02:40.174 --> 00:02:42.330 コマンドプロンプトに戻ります 00:02:42.595 --> 00:02:47.146 しかし これらの履歴上のコミットは 今や新しい識別名を持っていることを 00:02:47.443 --> 00:02:48.595 念頭に置いておきましょう 00:02:48.714 --> 00:02:50.900 このパターンを使うリクエストは 00:02:50.900 --> 00:02:53.128 オープンソースプロジェクトにおいて 最もよくみられることがわかるでしょう 00:02:53.659 --> 00:02:55.936 なぜなら コードベースを 将来読む人たちのために 00:02:55.936 --> 00:02:57.833 最適化しておこうと考えるためです 00:02:58.137 --> 00:03:01.899 プロジェクトに将来関わる人たちにとっては 1本のまっすぐな履歴が 00:03:02.082 --> 00:03:04.503 一番読みやすいのです 00:03:04.750 --> 00:03:06.933 このため貢献する人たちの方に 00:03:06.933 --> 00:03:08.595 履歴をすっきりさせるよう 負荷をかけているのです 00:03:08.997 --> 00:03:11.154 これは努力ではありますが このプロジェクトに 00:03:11.154 --> 00:03:14.176 将来関わるすべての 協力者が 恩恵を受けます 00:03:16.803 --> 00:03:18.936 継続的に実行されるアプリケーション― 00:03:18.936 --> 00:03:21.391 例えば ウェブサービスやアプリは― 00:03:21.915 --> 00:03:25.881 一般的にrebase ではなく マージに最適化されています 00:03:26.447 --> 00:03:29.244 これらは小さく的の絞られた変更を マスターブランチに 00:03:29.478 --> 00:03:33.386 できるだけ素早く実行できるような メカニズムが必要だからです 00:03:33.884 --> 00:03:36.087 それによって行われるべき変更が 全てなされなければ 00:03:36.482 --> 00:03:39.857 別のブランチを使って またマージするのです 00:03:40.260 --> 00:03:41.897 Rebase は履歴を明瞭なものに 00:03:41.897 --> 00:03:44.052 最適化する力強い機能です 00:03:44.370 --> 00:03:47.228 あなたのプロジェクトやチームの 必要としている物を確認しましょう 00:03:47.716 --> 00:03:50.321 今後のブランチに 素早く実行する必要があれば 00:03:50.321 --> 00:03:51.641 すぐマージすればいいでしょう 00:03:51.907 --> 00:03:54.996 明確な履歴が必要なら Rebase を使えばいいのです 00:03:56.979 --> 00:03:58.978 Git & GitHub Foundationsの Rebase編を 00:03:58.978 --> 00:04:00.429 ご覧いただきありがとうございます 00:04:00.563 --> 00:04:02.592 ここでチャンネルの購読を忘れずに 00:04:02.592 --> 00:04:05.365 質問やコメントは下からどうぞ 00:04:05.365 --> 00:04:08.695 ブランチの作り方などの 関連動画もご覧下さい