こんにちは、Tech Samuraiです!
Gitを学び始めたばかりの頃、多くの人が同じ罠にハマります。それは、git log
でコミット履歴を意気揚々と表示させた後、「あれ…?元のターミナルに戻れない!」と焦る、あの一瞬です。
何を打っても文字が入力されるだけで、プログラムを終了させるCtrl + C
も効かない…。パニックになってターミナルを閉じてしまった、なんて経験はありませんか?
ご安心ください。今回の記事では、あの画面の正体を解き明かし、そこからスマートに脱出する方法と、ついでに覚えておくと非常に便利な操作方法を、一枚の「チートシート」にまとめました!
あの画面の正体は「less」という閲覧ツール
まず知っておくべきことは、git log
を実行すると表示されるあの画面は、Gitの機能の一部ではありますが、**`less`(レス)**という、古くからあるテキスト閲覧プログラムが呼び出されている、ということです。
コミット履歴のように縦に長い内容を、画面をスクロールしながら快適に見られるようにするために、Gitが親切に`less`を起動してくれているのです。LinuxやmacOSのターミナルでは、man
コマンド(マニュアル表示)など、多くの場面でこの`less`が使われています。
つまり、「`git log`から抜け出す」のではなく、**「`less`プログラムを終了させる」**方法を知れば良い、ということになります。
【保存版】`less`の基本操作チートシート
`git log`の画面が表示されている間に、以下のキー操作を試してみてください。特に、一番上の「終了」は絶対に覚えておきましょう。
キー | 操作 | 説明 |
---|---|---|
基本操作 | ||
q | 終了する (Quit) | 【最重要】これを押せば、いつでも元のターミナルに戻れます! |
↑ / ↓ | 上下スクロール | 1行ずつ、ゆっくりと内容を確認できます。 |
スペースキー | 1ページ下へ | 画面一杯に、次のページへジャンプします。 |
b | 1ページ上へ (Back) | 画面一杯に、前のページへ戻ります。 |
移動・検索 | ||
g | 先頭へ移動 (Go) | ログの一番最初のコミットまで一気にジャンプします。 |
G (Shift + g) | 末尾へ移動 (Go) | ログの一番最後の(最新の)コミットまで一気にジャンプします。 |
/検索文字 | 下方検索 | /fix a bug のように入力してEnterを押すと、その単語を前方に向かって検索します。 |
n | 次の検索結果へ | 検索後に押すと、次の候補へジャンプします。 |
N (Shift + n) | 前の検索結果へ | 検索後に押すと、前の候補へジャンプします。 |
その他 | ||
h | ヘルプ表示 (Help) | lessで使える、さらに多くのコマンド一覧を表示します。(ヘルプ画面もq で抜けられます) |
まとめ
git log
の画面で困ったら、まずは落ち着いて**`q`キー**を押す。これさえ覚えておけば、もうパニックになることはありません。
そして、少し余裕ができたら、スペースキーでのページ送りや、/
での検索といった操作も試してみてください。`less`はGit以外でも様々な場面で登場するツールなので、これらの基本操作を知っているだけで、あなたのターミナル操作はぐっと快適になりますよ!
コメント