恢复到先前的提交并与Git中最近的提交合并

时间:2011-03-11 08:11:08

标签: git revert

所以例如我有这个历史:

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 replace this once done with the admin
     styles.

我们在最近的提交中有一个新的设计 - 但我现在想要切换回我们的原始设计,即提交78992246。

我之前喜欢这样做:

git checkout 78992246

然后我希望将这些合并回主人的头上。

不幸的是我没有到达任何地方

2 个答案:

答案 0 :(得分:2)

以下是执行此操作的一些步骤。

# 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

答案 1 :(得分:1)

一旦切换到正确的提交,您应该在尝试任何合并之前创建一个分支。

git checkout -b newdesign 

或一步到位

git checkout -b newdesign 78992246

另一方面,你会在detached head mode