2012-06-13 59 views
1

我有几个不同的分支,包括我的主分支。我想从主人那里创建一个新的分支,如果我错了,我认为可以这样做来纠正我。Git新分支然后回滚到以前版本

git branch masterDup 
git checkout masterDup 

然后我想将masterDup分支回滚到旧版本。这可以在不影响主人或任何其他分支的情况下完成。所以只有masterDup会被回滚。 如果是这样,我将如何使用提交ID回滚此新创建的分支。

我在我的日志历史中有提交ID。提交6f041c1e37bb97aab35678d35c8923fabe33c8d2c

我为我的git命令使用终端。

+0

我建议你阅读任何[混帐书(http://git-scm.com/book)至少一次,很显然你不甚至抓住git的基础知识。 – KurzedMetal

+0

我不会那么说。一般来说Git是有点高级的计算机知识。大多数SO问题都可以通过rtfm来解决。 – three

回答

2

当然,你检查出一个新的分支

git checkout -b masterDup 

,然后你把它恢复到较早版本

git reset --hard HEAD~x 

其中x为x版本回(或使用散列,如果你喜欢)

编辑此答案,看评论。

+0

'HEAD^x'引用合并提交中的第x个父元素!你的意思是'HEAD〜x'。 (或者'HEAD ^^^^ ...'x次。) – vergenzt

+0

-b在新分支结帐时做了什么? – Chapsterj

+0

@vergenzt,是的,你是对的。我通常会回来一次提交,所以我经常混合起来,没有造成任何伤害。 – three

0

权的新分支的结账后

git reset --hard 6f041c1e37bb97aab35678d35c8923fabe33c8d2c 
+0

git reset --hard 6f041c1e37bb97aab35678d35c8923fabe33c8d2c是否会影响其他分支。或者只有我检查过的分支。 – Chapsterj

+0

这只会重置您目前正在使用的分支。 – three

+0

感谢马里奥的帮助。 – Chapsterj

相关问题