Git commit: Difference between revisions
Line 6: | Line 6: | ||
=Overview= | =Overview= | ||
=Listing Commits= | |||
=Apply Extra Changes to the Last Commit= | =Apply Extra Changes to the Last Commit= |
Revision as of 21:29, 1 October 2020
External
Internal
Overview
Listing Commits
Apply Extra Changes to the Last Commit
If you are in the situation where you committed changes on your current branch, but then you worked a little bit more and want to include these latest changes into the last commit, you can use an "amend commit". An amend commit rplaces the tip of the current branch by creating a new commit. The recorded tree is prepared as usual and the message from the original commit is used as the starting point, instead of an empty message, when no other message is specified from the command line via -m. The new commit has the same parents and author as the current one. This is equivalent with committing one more time and squashing the last two commits with git rebase -i HEAD~1:
git add . git commit --amend [ --no-edit]
By default, without --no-edit, an interactive editor will be launched to give the committer the possibility to amend the commit message as well. To avoid starting an editor, use " --no-edit".
Possible History Rewrite:
If the last, existing commit that has been amended was pushed in a remote repository, you will need to overwrite it in the remote repository - thus rewriting history - with:git push --forceThis is not necessary if the last commit was not pushed yet.
Update a Commit Message that Has Not Been Pushed Yet
git commit --amend
It will start an interactive editor.
Update the Commit Message of a Specific Commit
git rebase -i "<commit-id>^"
Note the caret at the end, this is needed because you will need to rebase back to the commit before the one you wish to modify.
In the interactive editor, replace "pick" with "e" ("edit") for the commit you wish to change.
The git rebase procedure will exit and allow you to:
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
Execute:
git commit --amend
interactively update the comment, then
git rebase --continue