【Git】”Please enter the commit message”画面の終了方法について:備忘録

その他
スポンサーリンク
はづき
はづき

こんにちは!はづきです

文系から一部上場IT企業に就職し、エンジニアをやっています

Gitでcommitをする際に、ログメッセージ入力画面の終了方法がわからず閉じ込められるという事件が発生したので解決方法をまとめたいと思います

※この記事は初心者向けに平易に解説しています。正確な理解をしたい人は専門書・専門家をあたっていただければと思います。また、この記事の情報におけるCPの動作結果については自己責任でお願いします。

※本サイトにはプロモーション・広告が含まれています(はづきのブログより)

出てきたメッセージとしてはこんな感じです。commitするにあたりcommit内容のメッセージを書くのですが、記載後の終了方法がわからないといった具合です(もとのコマンド入力画面に戻りたい)

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
# Changes to be committed:
#       modified:   test1/file1
#

↓実際の画面は以下のような状態でした

スポンサーリンク

commitとログメッセージに関する前提知識

Gitではワークツリー、インデックス、リポジトリと呼ばれる3つの保存領域を利用してファイルのバージョン管理を行います

  1. ワークツリーで新規ファイルの作成、既存ファイルの更新・削除をする
  2. ワークツリーでの変更点をインデックスに反映する(git addコマンド)
  3. インデックスに反映された変更内容をリポジトリに反映する(git commitコマンド)

3番目のcommitは変更の切りが良いところで実行することが推奨されています。例えば、Aという機能に関するファイルの変更をまとめてcommitする、等

commit時にはcommit内容についてメッセージ(メモ的なもの)を残すことができます。コメント、メッセージなどと呼ばれており、「Aの機能追加に関する修正」といったメッセージを書いてcommitを実行します。メッセージには、他の開発者にcommitによる変更内容を伝える役割があります

通常、commitコマンドは以下のように「-m」オプションを付けてメッセージを記載することができます

git commit -m '<メッセージ>'
使用例↓
git commit -m 'Aの機能追加に関する修正'

 

しかし、「-m」オプションを付けずにcommitを実施すると自動的にテキストエディタが起動されてメッセージの入力を求められます

git commit

それが今回の問題となった"閉じられない画面"の正体ですね

このとき起動されるテキストエディタは、Gitの初期設定のときに指定したものになります。ただし、特に指定していない場合はGNU nanoエディタ、あるいはVim/Viエディタが起動されます

この2つのテキストエディタは操作方法に癖があるため、初見では画面を閉じることが難しいみたいです

GNU nanoエディタが起動していた場合の解決方法

まずは、GNU nanoエディタの終了の方法について書いていきます

画面下部に「^X Exit」という表示がありますが、こちらを利用することで画面を閉じることができます

1.「ctrl + X」を押下する↓

2.変更を保存するか尋ねられるため「y」を押下して保存する↓

3.ファイル名を書き換える必要はないため「Enterキー」を押下する↓

これでGNU nanoエディタを閉じられるかと思います

Vim/Vi エディタが起動していた場合の解決方法

次にVim/Viエディタの終了の方法について書いていきます

Vim/Viエディタは、入力モードとコマンドモードという2つのモードを切り替えてテキスト編集を行うテキストエディタです

  1. コマンドモード時に「i」を押すと入力モードになる
  2. 入力モード時に「escキー」を押すとコマンドモードになる

・入力モード時は画面下部に「--INSERT--」と表示されメモ帳のように文字を入力できます↓

Vim/Viエディタを終了させる場合は、「escキー」を押してコマンドモードにしたうえで「:wq」と入力してEnterキーを押下してください

このとき半角入力の状態でコマンドを入力しないと上手く実行できないので注意しましょう

※「:wq」は、書込み保存のコマンド「:w」と終了コマンド「:q」を合わせたものなので保存して終了することができます

まとめ

Git学習中に急に終了できない画面になり戸惑いましたが、テキストエディタに関する知識不足によるものでした。すぐにシステムがぶっ壊れた!と慌ててしまうのもそろそろやめたいところです笑

同様の事象で困っている方の参考になれば幸いです!

コメント

タイトルとURLをコピーしました