reverting to an earlier commit and merging with the most recent commit in Git
So for example i have this history:
commit 1a7cab6c279f5528871cd0ab8dae55319ff81fc0
Author: unknown <poru@.(none)>
Date: Thu Mar 10 20:11:39 2011 +0800
Changes to login style, will based the admin on this. version-1
commit 22d308ba085a5d04eadf54fd06f3534e876386de
Author: David Ang <davidang09@gmail.comm>
Date: Tue Mar 8 23:40:59 2011 +0800
fixed config settings to run in production mode and removed special
characters thats disrupting heroku
commit 410b383e105fac39bd70095b186367fa943b1ad8
Author: David Ang <davidang09@gmail.comm>
Date: Fri Mar 4 01:29:45 2011 +0800
show pretty time ago
provide icons
hide mass delete
removed special character
commit 789922463ad946c945893c9a8787e589f780fda1
Author: unknown <poru@.(none)>
Date: Thu Mar 3 18:34:09 2011 +0800
Tempory style for Login. Will 开发者_如何学Creplace this once done with the admin
styles.
We have a new design going on the most recent commit - but i wanted now to switch back to our original design which is commit 78992246.
I was like doing something like this earlier:
git checkout 78992246
Then I was hoping to just merge these back to the head of master.
Unfortunately im not getting anywhere
Here are some steps to do it.
# Create a branch pointing to the original design and checkout to that branch.
git checkout -b original_design 78992246
# Work on it and commit your works on this branch.
git commit ...
# Once you're done, checkout your master branch.
git checkout master
# If you want to, pull from origin to update your master branch.
git pull
# Merge your original_design branch back to master.
git merge original_design
Once you have switched to the right commit, you should create a branch before attempting any merge.
git checkout -b newdesign
or in one step
git checkout -b newdesign 78992246
Other wise you would be in a detached head mode.
精彩评论