How to rollback one particular commit in Git? -


here's situation:

  1. about 10 commits ago, accidentally did bad commit. switching between unix/windows, , long story short, did commit every file changed, due line endings.

  2. i had done 10 commits after that.

  3. i realize in order push remote repository, need undo commit step (1) (there's setting in .gitattributes i've modified normalize).

how go point in time , not commit every file? , need re-commit other 9 changes after that?

if haven't pushed 10 commits yet, or remote repo private , not shared other people, can try using interactive rebase:

$ git rebase -i head~10 # go 10 commits in time. 

in todo list of commits, choose edit 1 @ top of list:

edit d6627aa commit message 1 pick 0efdaca commit message 2 pick 9ec752f commit message 3 pick c84bf57 commit message 4 pick d4bcd50 commit message 5 pick c0110c9 commit message 6 pick 6606d13 commit message 7 pick 22933be commit message 8 pick cab2453 commit message 9 pick 05add41 commit message 10 

then amend last commit change line endings want:

# modify .gitattributes, amend last commit $ git commit --amend $ git rebase --continue 

to learn more rebasing, see rewriting history section of free online pro git book, official linux kernel git documentation rebase.


Comments

Popular posts from this blog

Need help in packaging app using TideSDK on Windows -

java - Why does my date parsing return a weird date? -

plot - Remove Objects from Legend When You Have Also Used Fit, Matlab -