Return to Video

Reflog • GitHub & Git Foundations

  • 0:00 - 0:03
    Git はソフトウェアに
    あなたが加えた修正をすべて追跡します
  • 0:04 - 0:05
    でもreflog を使えば―
  • 0:05 - 0:09
    あなたの修正に対する修正も
    追跡できると知っていますか?
  • 0:10 - 0:12
    GitHub と Git 基礎
  • 0:15 - 0:17
    Git のユーザーがまず発見するのは
  • 0:17 - 0:19
    レポジトリに行うコミットはすべて
  • 0:19 - 0:21
    瞬間的に記録され
  • 0:21 - 0:24
    コードベースの進行状態を
    示すということです
  • 0:24 - 0:27
    しかしGit のもっと上級者なら
    reflog によって
  • 0:27 - 0:29
    実行されたコミットの履歴だけでなく
  • 0:30 - 0:32
    破棄されたコミットの履歴も
    記録していると気づくでしょう
  • 0:32 - 0:35
    これによって30日間の
    ローリングバッファを見ることができ
  • 0:35 - 0:37
    そこから間違いを修正することができます
  • 0:37 - 0:40
    git reset コマンドを
    用いた有害なもの―
  • 0:40 - 0:42
    ブランチの削除や
  • 0:42 - 0:44
    誤って行われたrebase なども含みます
  • 0:47 - 0:50
    Git reset は各ブランチに
    固有のものです
  • 0:50 - 0:52
    より詳しく見ようと思うなら
  • 0:52 - 0:54
    .git フォルダの中に
  • 0:54 - 0:56
    logs というサブディレクトリがあります
  • 0:56 - 0:59
    下位にローカルのレポジトリの
  • 0:59 - 1:02
    各ブランチごとのファイルがあります
  • 1:03 - 1:06
    これらのlogs はそれぞれ
    行った変更を
  • 1:06 - 1:09
    時系列の前後両方向に記録しています
  • 1:09 - 1:15
    これに対するユーザーインターフェースが
    git reflog コマンドです
  • 1:16 - 1:18
    これは最新の履歴を表示します
  • 1:19 - 1:22
    ページングのメカニズムによって
    現在作業を行っているブランチに起こった
  • 1:22 - 1:26
    過去のエントリーを見せてくれます
  • 1:26 - 1:29
    git reflog を初めて実行して
  • 1:29 - 1:32
    画面上に表示される
    履歴を見たら
  • 1:32 - 1:34
    それに対して何ができるのかと
    思うかもしれません
  • 1:34 - 1:39
    表示されている
    7桁のハッシュ値を―
  • 1:39 - 1:43
    コードベースの回復のための
    候補として使いましょう
  • 1:44 - 1:48
    このハッシュ値に対し
    git reset --hard を行うのです
  • 1:48 - 1:51
    これで現在のブランチは強制的に
  • 1:51 - 1:53
    その時点にまで戻ります
  • 1:54 - 1:55
    GUIの利用
  • 1:55 - 1:58
    git reflog が提供する履歴は
    直線的で―
  • 1:58 - 2:00
    たどるのが難しいかもしれません
  • 2:00 - 2:02
    どれが空ブランチなのか?
  • 2:02 - 2:05
    どれがコードベースに
    もう関係のないコミットなのか?
  • 2:06 - 2:09
    ちょっとコマンドラインに
    立ち入って操作することで
  • 2:09 - 2:13
    reflog の結果をGUIに渡して
    表示できます
  • 2:13 - 2:15
    例えば gitk がそうです
  • 2:15 - 2:19
    これでどのブランチが
    空ブランチであるか―
  • 2:19 - 2:22
    どのコミットがブランチに関係ないか
  • 2:22 - 2:24
    そして回復したいのがどれかがわかります
  • 2:24 - 2:26
    回復には 説明したように
  • 2:26 - 2:29
    ハッシュ値を渡して
    reset --hard を実行します
  • 2:29 - 2:31
    頻繁にコミット
  • 2:31 - 2:35
    git reflog によって
    頻繁にコミットできるようになります
  • 2:35 - 2:39
    頻繁にコミットを行えば
    reflog に履歴が残り
  • 2:39 - 2:43
    リセットやコミットの削除をしたり
  • 2:43 - 2:45
    変更したり 間違っても大丈夫です
  • 2:46 - 2:49
    コミットされていないものは
    作業中のディレクトリでも
  • 2:49 - 2:52
    ステージングエリアでも
    リスクにさらされていますが
  • 2:52 - 2:55
    コミットされていれば
    回復できるのです
  • 2:55 - 2:58
    過去30日間の分は
    保険のようなもので
  • 2:58 - 3:01
    他のGit の機能を使うことで
  • 3:01 - 3:03
    大きく大胆な一歩を
    踏み出すことができます
  • 3:03 - 3:05
    ありがとうございました
  • 3:05 - 3:07
    Git and GitHub Foundationsの
    reflog 編を
  • 3:07 - 3:09
    ご覧いただきありがとうございます
  • 3:09 - 3:11
    こちらからチャンネルを購読するのを
    お忘れなく
  • 3:11 - 3:13
    質問や効果的な使い方は
  • 3:13 - 3:15
    下で尋ねてください
  • 3:15 - 3:18
    reset に関するものなどの
    関連動画も
  • 3:18 - 3:20
    とても役立ちます
  • 3:20 - 3:23
    reflog について学んだことと
    一緒に活かせますよ
Title:
Reflog • GitHub & Git Foundations
Video Language:
English
Team:
GitHub
Project:
Git and GitHub Foundations
Duration:
03:29
There has been no activity on this language so far.

Japanese subtitles

Revisions Compare revisions