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
ブランチの作り方などの
関連動画もご覧下さい