サイトアイコン ITC Media

【超便利】git commit –amendの使い方|実例付き

(最終更新月:2023年8月)

✔当記事は以下のような方に向けて書かれています

「git commit amendコマンドの使い方を知りたい」

「git commit amendの具体的な作用を理解したい」

「git commit amendの実例を確認したい」

✔当記事で得られる情報

当記事はgit commit amendの基本的な概念から応用例までを網羅しており、実際のコードを用いて詳しく解説します。

ぜひ記事の最後までご覧になり、git commit amendの使い方を完璧にマスターしてください。

筆者プロフィール

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

はじめに

こちらでは、「Git」についてお伝えしていきます。

Gitとは?

Gitは、ソースコードのバージョン管理を行うためのシステムです。

複数の開発者が同時に作業することを可能にし、それぞれの変更を統合するためのツールを提供します。

さらに、過去のバージョンへ戻ったり、変更のログを見ることも可能です。

Git commitとamendについて

Gitのcommitは、変更を記録する命令です。

amendオプションを使用すると、最新のcommitを修正できます。

間違えたメッセージを修正したり、変更したファイルを追加したりする際に役立ちます。

Git commit –amendの使用法

次に、「Git commit –amend」の使い方を詳しく見ていきましょう。

commit –amendの基本的な使い方

git commit –amendを使用すると、直前のcommitを上書きできます。

これは間違ったcommitを修正したいときや、新しい変更を追加したいときに有効です。

commitメッセージの修正方法

commitメッセージを修正するには、以下のとおり。

git commit --amend -m "新しいメッセージ"

直前のcommitメッセージが新しいメッセージに置き換わります。

commitの内容の後から追加の手法

commitの後で変更を追加するには、まず変更をステージングしましょう。

その後で以下を実行すれば、新しい変更が直前のcommitに統合されます。

git commit --amend

Git commit –amendの制約と注意点

今度は、「Git commit –amend」の制約と注意点について詳しく説明します。

–amendオプションでは、できないこともあるので注意が必要です。

commitからのファイルの削除の不可

git commit –amendでは、commitからファイルを削除できません

ファイルを削除するには、以下の手順でおこないましょう。

公開済みのcommitnの修正リスクとその制限

公開済みコミットの修正は、問題を引き起こす可能性があります。

なぜならコミットの歴史が書き換えられるため、ほかの開発者の作業に影響が出てしまうからです。

公開済みのコミットに対して、git commit –amendを使うときは、注意しましょう。

2つ以上前のコミット修正は不可能

git commit –amendでは、2つ以上前のcommitを直接修正できません。

なぜなら、最新のcommitのみを修正できるコマンドだから。

このような場合はgit rebaseを使うと良いでしょう。

古いコミットや複数のコミットの変更方法

次に、古いコミットや複数のコミットの変更方法を見ていきましょう。

squashコミット利用ガイド

複数のコミットをひとつにまとめるにはsquashを利用します。

例えば、git rebase -i HEAD~3を実行し、エディタが開いたらsquashを使用したいコミットの前に「s」や「f」を記述しましょう。

詳しくはこちらをご覧ください。

多数のメッセージ変更方法

複数のコミットメッセージを変更するには、git rebase -iを使用します。

エディタが開いたら、rewordを変更したいコミットの前に記述しましょう。

ファイル変更を反映する方法

ファイルの変更を反映するには、以下の手順がベストプラクティスです。

セーフティネット:git reflogの活用

ここでは、「git reflog」の使用法について説明します。

git reflogの使用法

git reflogは、Gitのアクション履歴を表示するコマンドです。

このコマンドを使用すると、どのcommitにも紐づけられていない状態に戻せます。

この機能は、間違って過去のcommitを書き換えてしまった時などに有用です。

git reflogを利用した例

具体的には、git reflogを実行すると、過去のアクションとそのcommitハッシュが表示されます。

このリストから特定のハッシュを選び、以下のコマンドを実行し、その状態に戻せるのです。

git reset --hard [ハッシュ]

Git commit –amendとreset –soft HEAD~1の違い

git commit –amendとreset –soft HEAD~1はよく比較されますが、これらは異なる用途があります。

違いを理解して、適切な場面でそれぞれを使えるようにしてください。

まとめ

当記事では、git commit –amendの使い方について学習してきました。

これらの知識を活用することで、Gitでのバージョン管理がより効率的になります。

、git commit –amendは慎重に使い、公開済みのcommitを書き換えるときは他の開発者に混乱を引き起こさないように気をつけましょう。

モバイルバージョンを終了