はじめに
Webエンジニアになって2年目。そろそろ、add
、copmmit
、push
、pull
、あと、ブランチ切ること以外も覚えたいなと思い、Gitでずっと気になってた各種**「元に戻す操作」**を勉強がてら記事を書こうと思いました。
Gitの操作をしていると、失敗して元に戻したい時は結構多いんじゃないかなーと思います。戻したい場面はいくつかあると思います。
今回は、git add
し忘れたファイルがあった時の対処について書いていこうと思います。
どんな場面か?
いい感じの粒度でまとめたコミットにしたいと思いますよね?でもgit add
し忘れたファイルがあった時、追加したいファイルを忘れてコミットしてしまったので、もう一度コミットをやり直したい場合がありますよね。
解決方法
この場合、そのファイルを指定してgit add
して、git commit amend
すれば大丈夫です。
ちなみに、英単語 amend は、修正する、という意味です。
$ git add 追加し忘れたファイル名
$ git commit --amend
実際にやって見ましょう。
以下に、2つのファイルがあったとします。
サンプルテキストファイル
変な事書いちゃった!w
練習用のテキストファイル
変な事書いちゃった!w
上記二つのテキストファイルですが、変な事を書いちゃってます。なので、その記述を消してコミットしたいところですね。
両方のファイルの変な事書いちゃった!w
という記述を消して..
$ git add sample.txt
$ git commit -m "変なコード削除"
[master 71552a3] 変なコード削除
1 file changed, 1 insertion(+), 3 deletions(-)
今回の例では、sample.txt
だけコミットして、practice.txt
をコミットし忘れて、コミットしたい時、どうしたらいいでしょうか?
この場合は、再度 git add
で追加し忘れたファイルを追加し、git commit --amend
を実行すれば、コミットし忘れたファイルが追加された状態でコミットされます。
例
$ git add 追加し忘れたファイル
$ git commit --amend
実例
$ git add practice.txt
$ git commit --amend
[master c7f9ff8] 変なコード削除
Date: Fri Jun 1 03:25:00 2018 +0000
2 files changed, 2 insertions(+), 10 deletions(-)
解決したかの確認方法
確認方法には、コミット履歴の閲覧ができるgit log
を使って、一個前だけ見るオプション-1
とdiff
を見られる-p
をつけたらいいと思います。
$ git log -p -1
以上です。
親記事(まとめ記事)
この記事の親記事(まとめ記事?)がありまして、そこでは、gitを使ったさまざまな元に戻す方法の記事をまとめています。ぜひ、見てください。