2012-02-23 68 views
1

可能重复:
How do you roll back (reset) a git repository to a particular commit?如何恢复的Git代码库某个版本

我有以下的修订,以便r1, r2, r3, r4, r5 in origin/master

  1. 如何恢复整个代码库到以前的快照在某个分支(比如r3
  2. 我要是[1],将随后提交说r4', r5'上的r3顶部,我们也不会在代码库中有任何对r4, r5的引用。
+0

'git checkout r3' – 2012-02-23 18:28:38

+0

这提供了一个可能的解决方案,而不会失去对r4,r5的引用。 http://stackoverflow.com/a/1625275/277923 – rajatkhanduja 2012-02-23 18:20:12

+0

如果r4,r5已经存在于git仓库中,这将如何工作。 – priya 2012-02-23 18:25:09

回答

2
  1. git reset --hard r3将回复您的当前已签出分支回r3
  2. 后续提交将在r3之上。除了之外的其他内容指向它,您将失去对r4r5的任何引用。

您的问题的第一部分是duplicate,但我创建了这个答案,因为您要求了解更多的细节。

+2

“保持”r4和r5最简单的方法就是在git reset之前做'git branch newbranch' - 'master'将被重置为指向'r3',但'newbranch'会一直指向'r5'。 – hobbs 2012-02-23 18:56:27