Wednesday, 15 May 2013

git: How to refresh a commit that isn't on top -



git: How to refresh a commit that isn't on top -

in working branch, have 3 dependent patches. of them not merged.

<commit id -1> <commit id -2> <commit id -3>

how can add together new changes <commit id -2>?

currently here how doing it.

git stash git reset --hard head~1 git stash apply git add together . git commit --amend git cherry-pick <commit id -1>

this working without problem. there improve way can commit staged files whichever commit want?

you can utilize interactive rebase , edit desired commit. like:

git rebase --interactive abc4321d^

in editor alter pick edit or e. apply changes (git stash pop) , commit them.

this way can modify multiple old commits in same run. go on rebase, , address next commit, use:

git rebase --continue

at time, if sense did wrong, can cancel rebase using:

git rebase --abort

please note rewriting public history (a history on repo shared others) bad habit. should rewrite previous commits if not yet published.

git git-commit amend

No comments:

Post a Comment