連載
» 2016年08月29日 05時00分 UPDATE

こっそり始めるGit/GitHub超入門(5):Gitコミット現場あるある――やり直し、取り消し、変更したいときに使えるコマンド (1/2)

本連載では、バージョン管理システム「Git」とGitのホスティングサービスの1つ「GitHub」を使うために必要な知識を基礎から解説していきます。今回は、コミットメッセージを間違えたり、追加すべきファイルをコミットに入れ忘れたりした場合の対処方法やファイルの変更の取り消し方法を説明。

[平屋真吾,クラスメソッド]

開発現場ではコミットで間違えるなんて、よくあること

 本連載「こっそり始めるGit/GitHub超入門」では、バージョン管理システムGit」とGitのホスティングサービスの1つ「GitHub」を使うために必要な知識を基礎から解説していきます。具体的な操作を交えながら解説していきますので、本連載を最後まで読み終える頃には、GitやGitHubの基本的な操作が身に付いた状態になっていると思います。

 連載第5回目の本稿では「コミットのやり直し」と「ファイルの変更の取り消し」を扱います。コミットメッセージを間違えたり、追加すべきファイルをコミットに入れ忘れたりした場合、そのコミットをやり直すことができます。

 まずは、コミットをやり直す方法を解説していきます。実際に作業を進めていきながら、作業をやり直す方法を解説していきます。

Gitリポジトリを作成しておく

 任意のディレクトリに移動し、「コミットのやり直し」や「ファイルの変更の取り消し」を試すためのGitリポジトリを作成します。

 今回は「ドキュメント」ディレクトリの中に「hello-git-5」ディレクトリを作成し、その中にGitリポジトリを作成しました。

$ cd /Users/hirayashingo/Documents/
$ mkdir hello-git-5
$ cd hello-git-5/
$ git init
Initialized empty Git repository in /Users/hirayashingo/Documents/hello-git-5/.git/

コミットメッセージを修正する

 まずは「コミットメッセージを修正する」方法を解説していきます。

【準備】「コミットメッセージを間違えた」という状況を作る

 「コミットメッセージを修正する」方法を解説するために、「コミットメッセージを間違えた」という状況を作っていきます。

 まずはファイルを追加し、ステージします。ここでは「hello-5.txt」ファイルを追加しました。

$ echo Hello > hello-5.txt
$ git add hello-5.txt

 そしてコミットします。ここではコミットメッセージをわざと間違えています。「first commit」ではなく「fist commit」というメッセージを指定しました。

$ git commit -m "fist commit"
[master (root-commit) 0512102] fist commit
 1 file changed, 1 insertion(+)
 create mode 100644 hello-5.txt

 コミットログを確認してみても、コミットメッセージは「fist commit」になってしまっています。

$ git log
commit 051210244e102067c3291e4098b3acac242aa12c
Author: Shingo Hiraya <shingohiraya@example.com>
Date:   Thu Aug 11 20:35:20 2016 +0900
 
    fist commit

「git commit --amend」コマンドで直前のコミットのコミットメッセージを修正する

 「git commit --amend」コマンドを使用してコミットメッセージを変更します。

$ git commit --amend

 上記コマンドを入力して「Enter」キーを押すと、エディタが起動します。

 ここではデフォルトのエディタ「vi」でメッセージを編集する手順を解説します(Gitの設定で明示的にエディタを指定していない場合は「vi」が起動します)。

図1 「vi」起動直後

 「vi」では「モード」を切り替えながらテキストを編集していきます。起動直後は「コマンドモード」になっています。「コマンドモード」は文字通り各種コマンドを受け付けるモードです。テキストを編集するには「インサートモード」に切り替える必要があります。

 「i」キーを押して「インサートモード」に切り替えてみましょう。「モード」が「インサートモード」になるとエディタ下部に「INSERT」と表示され、テキストを編集できるようになります。

図2 「インサートモード」に切り替え後

 エディタ上に表示されているメッセージ「fist commit」を「first commit」に修正します。十字キーでカーソルを移動させて、文字「r」を挿入します。

図3 メッセージ編集後

 修正が終わったら、「Esc」キーを押して、「コマンドモード」に切り替えます。エディタ下部に表示されていた「INSERT」が消えます。

図4 「コマンドモード」に切り替え後

 「:wq」と入力し、「Enter」キーを押します。編集内容を保存してエディタを終了できます。

図5 「:wq」と入力

 コミットメッセージを修正する手順は以上です。

修正結果

 コミットログを表示すると、コミットメッセージが修正されたことを確認できます。

$ git log
commit a7e133b020e9359a944807f704e32e6b6f327a8d
Author: Shingo Hiraya <shingohiraya@example.com>
Date:   Thu Aug 11 20:35:20 2016 +0900
 
    first commit
       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。