1 00:00:00,206 --> 00:00:04,306 Git reset はレポジトリの履歴を 形成できるコマンドです 2 00:00:04,306 --> 00:00:07,945 変更を取り消したり コミットを修正したりするなら 3 00:00:07,945 --> 00:00:09,401 このコマンドを使いましょう 4 00:00:09,651 --> 00:00:11,241 ♪ (ボッサの音楽) ♪ 5 00:00:14,691 --> 00:00:17,130 Git and GitHub Foundationsによる 6 00:00:17,130 --> 00:00:18,669 reset コマンドの エピソードにようこそ 7 00:00:18,669 --> 00:00:21,510 このコマンドには多くの機能があり 様々なモードがあります 8 00:00:21,510 --> 00:00:25,002 ここでご紹介するのは3つのモードです 9 00:00:25,002 --> 00:00:28,236 これらは soft ; mixedまたは標準設定; そしてhard です 10 00:00:28,555 --> 00:00:30,587 ♪ (音楽) ♪ 11 00:00:31,162 --> 00:00:33,101 これらの名称が機能を説明しています 12 00:00:33,101 --> 00:00:35,513 まずは標準設定のmixedから 始めましょう 13 00:00:35,830 --> 00:00:39,648 これは履歴だけでなく 作業中のディレクトリも変更します 14 00:00:39,918 --> 00:00:41,708 だからミックス― 両方だというわけです 15 00:00:41,898 --> 00:00:44,427 softは1つか複数のコミットの変更を 16 00:00:44,427 --> 00:00:47,179 ステージングエリアに戻すので 17 00:00:47,179 --> 00:00:50,048 それをもとに新しいコミットの作成を 継続できます 18 00:00:50,433 --> 00:00:53,039 一方Hard は破壊的な作業です 19 00:00:53,039 --> 00:00:55,992 つまり保存しておきたくないものを 消すための作業です 20 00:00:55,992 --> 00:00:59,112 これら3つを念頭に置いて 21 00:00:59,112 --> 00:01:00,710 まずはmixed から見ていきましょう 22 00:01:03,475 --> 00:01:05,173 Mixed はGitを使い始めたユーザーに 23 00:01:05,173 --> 00:01:07,241 度々推奨されるもので 24 00:01:07,241 --> 00:01:09,419 なぜならstatus コマンドの中に 表示されるからです 25 00:01:09,419 --> 00:01:11,341 ステージングエリアに変更があり 26 00:01:11,341 --> 00:01:14,103 git status を見ると git reset HEADがあります 27 00:01:14,103 --> 00:01:16,926 これによってこれらの変更を ステージングエリアに持ち込み 28 00:01:16,926 --> 00:01:19,015 mixed オプションで 作業中のディレクトリに 29 00:01:19,015 --> 00:01:20,201 戻すことができます 30 00:01:20,672 --> 00:01:23,379 Soft というのは 細かすぎる変更を 31 00:01:23,379 --> 00:01:25,706 扱うときに使うものです 32 00:01:26,033 --> 00:01:27,869 1 2 3 4 5つのコミットが 33 00:01:27,869 --> 00:01:30,846 すべて1つのトランザクションで あることに気付いたので 34 00:01:30,846 --> 00:01:32,434 すべてまとめることにします 35 00:01:32,434 --> 00:01:36,542 git reset -- soft HEAD~5 を使って 36 00:01:36,542 --> 00:01:38,310 最近の5つのコミットをまとめましょう 37 00:01:38,615 --> 00:01:40,920 soft を使ったこのコマンドで 38 00:01:40,920 --> 00:01:42,706 5つのコミットをすべて― 39 00:01:42,706 --> 00:01:46,285 1つのコミットとして ステージングエリアにまとめられます 40 00:01:46,665 --> 00:01:48,765 履歴の修正にはとても役立ちますが 41 00:01:48,765 --> 00:01:51,465 履歴の修正には価値を付与しないコミットを 42 00:01:51,465 --> 00:01:54,407 破棄するという極端な場合もあります 43 00:01:54,407 --> 00:01:57,748 送信・発信したり 他の人と共有したくない場合です 44 00:01:57,752 --> 00:01:59,411 ここでhard が役に立ちます 45 00:01:59,411 --> 00:02:01,983 一部の作業を完全に削除したい場合 46 00:02:01,983 --> 00:02:04,900 変更を試みたけれど うまくいかなかった場合などは 47 00:02:04,900 --> 00:02:08,331 git reset -- hard を使って 完全にこれらのコミットを削除できます 48 00:02:08,606 --> 00:02:11,268 ではどうしてコミットを 作るのかと尋ねるかもしれません 49 00:02:11,268 --> 00:02:13,971 Gitは reflog コマンドで とてもいいセーフティーネットを 50 00:02:13,971 --> 00:02:17,078 提供しており これについては 今後のエピソードでご紹介します 51 00:02:17,078 --> 00:02:20,108 コミットでチェックポイントを 作ることを勧めるものです 52 00:02:20,108 --> 00:02:22,353 hard が使えることを 知っていることで 53 00:02:22,353 --> 00:02:24,560 履歴をいつでも整理できますね 54 00:02:25,470 --> 00:02:27,084 ♪ (音楽) ♪ 55 00:02:27,760 --> 00:02:32,178 reset と一緒に語られることの多い 親戚のようなコマンドがあります 56 00:02:32,178 --> 00:02:34,152 checkout というコマンドです 57 00:02:34,152 --> 00:02:37,702 checkout コマンドはreset とは 少し精度が異なり 58 00:02:37,702 --> 00:02:41,266 たいていレポジトリの履歴全体を 操作するものです 59 00:02:41,703 --> 00:02:45,395 Checkout はディレクトリや ファイルレベルの操作に特化しています 60 00:02:45,756 --> 00:02:48,947 コミット全体を取り消したり 変更するのではなく 61 00:02:48,947 --> 00:02:52,710 履歴でコミットの 特定のファイルに戻ることができ 62 00:02:52,710 --> 00:02:57,297 そのファイルとバージョンを 現在作業中のディレクトリに戻します 63 00:02:57,685 --> 00:03:01,234 Gitレポジトリの履歴が目指すところは 明瞭なコミュニケーションです 64 00:03:01,487 --> 00:03:05,662 ですからgit reset hard でも reset soft でも reset mixed でも 65 00:03:05,662 --> 00:03:08,145 より正確なcheckout コマンドでも 66 00:03:08,145 --> 00:03:12,757 あなたの変更の明確な意図が 同僚に伝わるように使ってください 67 00:03:12,954 --> 00:03:15,976 Git reset は新しいGitユーザーには 少し使うのが怖いツールのように 68 00:03:15,976 --> 00:03:17,235 思えるかもしれません 69 00:03:17,434 --> 00:03:20,184 でも 美しいレポジトリの履歴を 作るために 70 00:03:20,184 --> 00:03:22,473 とても役立つツールにもなります 71 00:03:24,371 --> 00:03:28,029 Git and GitHub Foundationsのreset 編を ご覧いただきありがとうございます 72 00:03:28,029 --> 00:03:31,687 いつも通り 横にあるチャンネルを 購読するのをお忘れなく 73 00:03:31,687 --> 00:03:33,811 質問やコメントは下にどうぞ 74 00:03:33,811 --> 00:03:36,401 GitやGitHubに関する ためになるトピックも 75 00:03:36,401 --> 00:03:38,523 下でチェックしてくださいね 76 00:03:38,789 --> 00:03:41,528 ♪ (音楽) ♪ (音声が静かになる)