Fundamentals 6 min read

Forgot a File or Wrong Commit Message? Fix It Instantly with git commit --amend

When you realize a recent Git commit has an incorrect message or missing files, you can safely amend the last commit using git commit --amend, provided the commit hasn't been pushed, avoiding the need for reset and keeping history clean.

Code of Duty
Code of Duty
Code of Duty
Forgot a File or Wrong Commit Message? Fix It Instantly with git commit --amend

Git Commit Mistake? One amend can rescue it

After committing code you may discover an embarrassing mistake: the commit message is wrong, or you forgot to add a file such as README.md. The common instinct is to panic and consider git reset --hard, but there is a safer option.

Scenario 1: Wrong Commit Message

Suppose you run:

git commit -m "fix bug"

Later you realize the message is too vague. A clearer message could be:

fix(login): resolve token refresh issue

Instead of creating a new commit, run:

git commit --amend

Git opens your editor to edit the most recent commit message. After saving, the commit record is updated. If you prefer a one‑liner, you can combine the edit and message change:

git commit --amend -m "fix(login): resolve token refresh issue"

This replaces the previous message with the new one.

Scenario 2: Missing a File

Another common case is forgetting to add a file. After committing, you notice that README.md was not added.

Instead of creating a separate "add README" commit, you can do:

git add README.md
git commit --amend

Git merges README.md into the previous commit, making the history look as if the file was included from the start. This is especially convenient for fixing small omissions.

Git amend illustration
Git amend illustration

When is git commit --amend appropriate?

Commit message was written incorrectly

A file was omitted from the commit

A small change is needed after the commit

You want the latest commit to appear complete

Important prerequisite:

It is best to use amend only before the commit has been pushed.

Amend creates a new commit that replaces the old one; if the original commit is already pushed, others may have pulled the old history, and amending would cause divergence.

Local commit only? Feel free to amend; already pushed? Avoid changing history.

Don’t default to reset

Many developers think of reset first when a commit is wrong, but for minor issues like a bad message or a missing file, reset is unnecessary. reset discards the commit, whereas amend patches it, keeping the history cleaner and reducing the risk of accidental code loss.

A Small Exercise

Try it yourself in a test repository:

git init
 echo hello > a.txt
 git add a.txt
 git commit -m "test"
 echo readme > README.md
 git add README.md
 git commit --amend

Then view the log:

git log --stat

You will see that README.md has been merged into the most recent commit.

Summary

git commit --amend

modifies the most recent commit.

Both incorrect messages and omitted files can be fixed with amend.

Amend is safest before the commit is pushed.

Git isn’t afraid of mistakes; it’s afraid you don’t know what you’re changing.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

tutorialCommitgit resetamend
Code of Duty
Written by

Code of Duty

"Code of Duty" — Every line of code has its own mission. We avoid shortcuts and quick fixes, focusing on authentic coding reflections and the joys and challenges of technical growth. The journey of learning matters more than any destination. Join us as we humbly forge ahead in the world of code.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.