forked from vincent/notebook
48 lines
1.2 KiB
Markdown
48 lines
1.2 KiB
Markdown
# Rewrite Git History
|
|
|
|
## Changing the Last Commit
|
|
|
|
If you want to modify your last commit message:
|
|
|
|
`git commit --amend`
|
|
|
|
## Rewrite multiple Commit
|
|
|
|
for that you need to use rebase in interactive mode like this:
|
|
|
|
` git rebase -i HEAD^3 `
|
|
|
|
this will open an editor wit list of commit you need to modiy this with needed action to do
|
|
|
|
### Reordering Commit
|
|
|
|
ON this editor you can invert line to change commit order, git will reaply commit in wew order
|
|
|
|
### Squash & fixup commit
|
|
|
|
**Squash** option will merge will merge xommit with the previous and ad commit message in the new commit message
|
|
|
|
**Fixup** do same thing put forgot commit message
|
|
|
|
### Splitting a Commit
|
|
|
|
you can do that with **edit** command
|
|
|
|
git rebase will stop after apply commit where you hae put edit
|
|
|
|
ad this moment you can process to a Head reset and commit when you want to add commit modification like ewample below
|
|
|
|
```sh
|
|
git reset HEAD^
|
|
git add README
|
|
git commit -m 'Update README formatting'
|
|
git add lib/simplegit.rb
|
|
git commit -m 'Add blame'
|
|
git rebase --continue
|
|
```
|
|
|
|
### delete
|
|
|
|
**drop** will delete comite rebase will not apply modification during processing
|
|
to use by example if you have done a modifcation and a revert
|