[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.29,0:00:03.22,Default,,0000,0000,0000,,{\i1}Git Rebase{\i0} は\N既存のコミットに対して行い― Dialogue: 0,0:00:03.22,0:00:06.54,Default,,0000,0000,0000,,今日から始まるブランチに\N配置することができるものです Dialogue: 0,0:00:06.73,0:00:08.94,Default,,0000,0000,0000,,♪ (ジャズ風のテーマ音楽) ♪ Dialogue: 0,0:00:12.36,0:00:14.50,Default,,0000,0000,0000,,ブランチを作成するのは\N難しい決断です Dialogue: 0,0:00:14.72,0:00:17.13,Default,,0000,0000,0000,,今日からにすべきか\N後で開始するようにすべきか? Dialogue: 0,0:00:17.48,0:00:20.62,Default,,0000,0000,0000,,重要な修正がいくつか\N今まさに起こっているかもしれません Dialogue: 0,0:00:20.77,0:00:22.88,Default,,0000,0000,0000,,明日まで待った方がいいのでしょうか Dialogue: 0,0:00:23.03,0:00:26.10,Default,,0000,0000,0000,,Gitなら そんな難しい決断は不要です Dialogue: 0,0:00:26.49,0:00:28.14,Default,,0000,0000,0000,,好きなときにブランチを開始して Dialogue: 0,0:00:28.16,0:00:31.39,Default,,0000,0000,0000,,実行するつもりの変更を\N残しておきましょう Dialogue: 0,0:00:31.51,0:00:33.35,Default,,0000,0000,0000,,特定の機能や Dialogue: 0,0:00:33.75,0:00:35.91,Default,,0000,0000,0000,,バグや目的の修正に\N特化したものにします Dialogue: 0,0:00:38.98,0:00:40.70,Default,,0000,0000,0000,,マスターブランチで起こりつつある Dialogue: 0,0:00:40.70,0:00:42.38,Default,,0000,0000,0000,,重要な修正に組み込むため― Dialogue: 0,0:00:42.38,0:00:44.65,Default,,0000,0000,0000,,この変更を履歴上では Dialogue: 0,0:00:44.65,0:00:46.43,Default,,0000,0000,0000,,後から開始したい場合は\Nどうすればいいでしょう? Dialogue: 0,0:00:46.86,0:00:49.69,Default,,0000,0000,0000,,問題ありません\N{\i1}Rebase{\i0} が助けてくれます Dialogue: 0,0:00:50.04,0:00:52.78,Default,,0000,0000,0000,,一般的な使用法では{\i1}Rebase{\i0} によって Dialogue: 0,0:00:52.78,0:00:57.87,Default,,0000,0000,0000,,ブランチを履歴の後の方に\N再配置できます Dialogue: 0,0:00:58.36,0:01:02.90,Default,,0000,0000,0000,,つまりあなたのブランチに\N分岐させておいた変更を全て Dialogue: 0,0:01:03.12,0:01:05.71,Default,,0000,0000,0000,,まるでマスターブランチで\N現在起こっている作業の Dialogue: 0,0:01:05.94,0:01:08.36,Default,,0000,0000,0000,,{\i1}あとから{\i0}起こったように見せるのです Dialogue: 0,0:01:09.02,0:01:11.46,Default,,0000,0000,0000,,行うことは同じですが Dialogue: 0,0:01:11.46,0:01:14.58,Default,,0000,0000,0000,,マスターブランチから\N今後作られるブランチへと Dialogue: 0,0:01:14.58,0:01:17.29,Default,,0000,0000,0000,,逆マージするよりも\N履歴がすっきりします Dialogue: 0,0:01:17.71,0:01:20.48,Default,,0000,0000,0000,,後のブランチで表示される\Nコンテンツは同じですが Dialogue: 0,0:01:20.72,0:01:23.50,Default,,0000,0000,0000,,マージが後のブランチに行われるといった Dialogue: 0,0:01:23.76,0:01:26.97,Default,,0000,0000,0000,,複雑さや履歴上の記録が\N残りません Dialogue: 0,0:01:29.88,0:01:32.12,Default,,0000,0000,0000,,{\i1}rebase{\i0} コマンドによって Dialogue: 0,0:01:32.27,0:01:35.16,Default,,0000,0000,0000,,ブランチにある全てのコミットが\N変更されることを覚えておいて下さい Dialogue: 0,0:01:35.55,0:01:37.80,Default,,0000,0000,0000,,全ての作業を保存しますが Dialogue: 0,0:01:38.06,0:01:41.20,Default,,0000,0000,0000,,場所や他のコミットに対する関係性は Dialogue: 0,0:01:41.20,0:01:42.58,Default,,0000,0000,0000,,全て変更されます Dialogue: 0,0:01:43.08,0:01:46.48,Default,,0000,0000,0000,,これは基本的に\N他の人が作業していない Dialogue: 0,0:01:46.48,0:01:48.64,Default,,0000,0000,0000,,{\i1}自分だけの{\i0}ブランチに行う作業です Dialogue: 0,0:01:48.97,0:01:50.24,Default,,0000,0000,0000,,関係性や Dialogue: 0,0:01:50.24,0:01:52.32,Default,,0000,0000,0000,,各コミットの識別名における変更により Dialogue: 0,0:01:52.32,0:01:55.38,Default,,0000,0000,0000,,他の人の作業と一致させるのは\N難しいのです Dialogue: 0,0:01:55.57,0:02:00.04,Default,,0000,0000,0000,,{\i1}あなた{\i0} が作業している\Nブランチについて話していきますが Dialogue: 0,0:02:00.49,0:02:04.06,Default,,0000,0000,0000,,それらの制約を考えると\N使用法はとてもシンプルです Dialogue: 0,0:02:04.47,0:02:07.17,Default,,0000,0000,0000,,{\i1}Git checkout{\i0}は\N後に作られるブランチに行い Dialogue: 0,0:02:07.65,0:02:12.44,Default,,0000,0000,0000,,{\i1}git rebase{\i0} はソースブランチ\N大体マスターブランチに行います Dialogue: 0,0:02:13.23,0:02:15.40,Default,,0000,0000,0000,,そうすると後に作られるブランチに Dialogue: 0,0:02:15.40,0:02:17.98,Default,,0000,0000,0000,,行われるはずのコミットを\Nすべて反復して Dialogue: 0,0:02:17.98,0:02:22.80,Default,,0000,0000,0000,,機械的に書き直されたかのように\Nマスターブランチの Dialogue: 0,0:02:23.10,0:02:27.59,Default,,0000,0000,0000,,最新の時点から再生します Dialogue: 0,0:02:27.89,0:02:29.56,Default,,0000,0000,0000,,このプロセスが完了したら Dialogue: 0,0:02:29.77,0:02:32.86,Default,,0000,0000,0000,,個々のコミットがすべて\N行われたことを確認して Dialogue: 0,0:02:33.39,0:02:36.31,Default,,0000,0000,0000,,{\i1}rebase{\i0} が完了したことを\N知らせてくれます Dialogue: 0,0:02:36.31,0:02:37.90,Default,,0000,0000,0000,,そしてあなたは指示を実行する前と Dialogue: 0,0:02:37.90,0:02:40.17,Default,,0000,0000,0000,,同じような状態に見える Dialogue: 0,0:02:40.17,0:02:42.33,Default,,0000,0000,0000,,コマンドプロンプトに戻ります Dialogue: 0,0:02:42.60,0:02:47.15,Default,,0000,0000,0000,,しかし これらの履歴上のコミットは\N今や新しい識別名を持っていることを Dialogue: 0,0:02:47.44,0:02:48.60,Default,,0000,0000,0000,,念頭に置いておきましょう Dialogue: 0,0:02:48.71,0:02:50.90,Default,,0000,0000,0000,,このパターンを使うリクエストは Dialogue: 0,0:02:50.90,0:02:53.13,Default,,0000,0000,0000,,オープンソースプロジェクトにおいて\N最もよくみられることがわかるでしょう Dialogue: 0,0:02:53.66,0:02:55.94,Default,,0000,0000,0000,,なぜなら コードベースを\N将来読む人たちのために Dialogue: 0,0:02:55.94,0:02:57.83,Default,,0000,0000,0000,,最適化しておこうと考えるためです Dialogue: 0,0:02:58.14,0:03:01.90,Default,,0000,0000,0000,,プロジェクトに将来関わる人たちにとっては\N1本のまっすぐな履歴が Dialogue: 0,0:03:02.08,0:03:04.50,Default,,0000,0000,0000,,一番読みやすいのです Dialogue: 0,0:03:04.75,0:03:06.93,Default,,0000,0000,0000,,このため貢献する人たちの方に Dialogue: 0,0:03:06.93,0:03:08.60,Default,,0000,0000,0000,,履歴をすっきりさせるよう\N負荷をかけているのです Dialogue: 0,0:03:08.100,0:03:11.15,Default,,0000,0000,0000,,これは努力ではありますが\Nこのプロジェクトに Dialogue: 0,0:03:11.15,0:03:14.18,Default,,0000,0000,0000,,将来関わる{\i1}すべての{\i0} 協力者が\N恩恵を受けます Dialogue: 0,0:03:16.80,0:03:18.94,Default,,0000,0000,0000,,継続的に実行されるアプリケーション― Dialogue: 0,0:03:18.94,0:03:21.39,Default,,0000,0000,0000,,例えば ウェブサービスやアプリは― Dialogue: 0,0:03:21.92,0:03:25.88,Default,,0000,0000,0000,,一般的に{\i1}rebase{\i0} ではなく\Nマージに最適化されています Dialogue: 0,0:03:26.45,0:03:29.24,Default,,0000,0000,0000,,これらは小さく的の絞られた変更を\Nマスターブランチに Dialogue: 0,0:03:29.48,0:03:33.39,Default,,0000,0000,0000,,できるだけ素早く実行できるような\Nメカニズムが必要だからです Dialogue: 0,0:03:33.88,0:03:36.09,Default,,0000,0000,0000,,それによって行われるべき変更が\N全てなされなければ Dialogue: 0,0:03:36.48,0:03:39.86,Default,,0000,0000,0000,,別のブランチを使って\Nまたマージするのです Dialogue: 0,0:03:40.26,0:03:41.90,Default,,0000,0000,0000,,{\i1}Rebase{\i0} は履歴を明瞭なものに Dialogue: 0,0:03:41.90,0:03:44.05,Default,,0000,0000,0000,,最適化する力強い機能です Dialogue: 0,0:03:44.37,0:03:47.23,Default,,0000,0000,0000,,あなたのプロジェクトやチームの\N必要としている物を確認しましょう Dialogue: 0,0:03:47.72,0:03:50.32,Default,,0000,0000,0000,,今後のブランチに\N素早く実行する必要があれば Dialogue: 0,0:03:50.32,0:03:51.64,Default,,0000,0000,0000,,すぐマージすればいいでしょう Dialogue: 0,0:03:51.91,0:03:54.100,Default,,0000,0000,0000,,明確な履歴が必要なら\N{\i1}Rebase{\i0} を使えばいいのです Dialogue: 0,0:03:56.98,0:03:58.98,Default,,0000,0000,0000,,Git & GitHub Foundationsの\N{\i1}Rebase{\i0}編を Dialogue: 0,0:03:58.98,0:04:00.43,Default,,0000,0000,0000,,ご覧いただきありがとうございます Dialogue: 0,0:04:00.56,0:04:02.59,Default,,0000,0000,0000,,ここでチャンネルの購読を忘れずに Dialogue: 0,0:04:02.59,0:04:05.36,Default,,0000,0000,0000,,質問やコメントは下からどうぞ Dialogue: 0,0:04:05.36,0:04:08.70,Default,,0000,0000,0000,,ブランチの作り方などの\N関連動画もご覧下さい