作業用(開発)ブランチで作業をしていて、メインブランチの最新状態を反映したくなった。
メインブランチをmergeコマンドで作業用ブランチに反映すると以下のメッセージが表示された。
Merge branch 'main' into feature/create_comment
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
~
~
~
~
~
~
~
~
~
この状態でターミナルへいくら入力しても全く反応しないため調査した。
メッセージについて
翻訳してみると以下のように書いてあった
ブランチ 'main' を feature/create_comment にマージしました。①
# なぜこのマージが必要なのか、その理由をコミットメッセージに記入してください。②
# 特に、更新された上流をトピックブランチにマージする場合は、その理由を説明してください。③
#
# '#' で始まる行は無視され、空のメッセージはコミットを中止します。④
まずは、表示内容をよく読んでみる
①:どうやら作業ブランチにメインブランチを反映することには成功したみたい。
②:珍しいケースだからなのか、理由を書く様に伝えられている
③:②について補足した内容になっており、一般的にはメインブランチから作業ブランチを切り離して作業して戻すため、今回の作業は通常の工程とは逆らった作業をしていることになる。この場合はとくに理由を説明しろと書いてある。
④#はコメントアウトされるらしい、メッセージを記載しない場合はコミットが中止されるらしい。
反応しない
メッセージを入力しようとするがターミナルが全く反応しない、、
調査してみるとどうやらvim
が立ち上がっているらしい、、
Q:vim
とは
コマンドライン上でファイルの中身を操作できるテキストエディターのこと
一般的なVScoe
やAtom
とはちょっと違ったものらしい
vimの操作方法
どうやらvim
はinsert
モードにしないと入力できないらしい。insert
モードへの切り替えコマンドはi
らしいので打ち込んでみる。
すると
Merge branch 'main' into feature/create_comment
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
~
-- INSERT --
-- INSERT --
と表示されターミナルが反応するようになった。
メッセージを打ち込んでみる
ターミナルが入力を受け付ける状態になったので実行理由をコメントしてみる。
Merge branch 'main' into feature/create_comment
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
main brunchに変更があったため
~
~
~
~
~
~
~
-- INSERT --
メッセージを打ち込んだらノーマル
モードに切り替えてみる。(escキー)
escキー
を入力すると-- INSERT --
の表示が消えた。
最後にこの変更内容を保存するコマンド:wq
を入力して保存終了する。
これでvimが終了し、無事作業ブランチに戻ることができた。