【问题标题】:How do I revert git code base to a certain revision [duplicate]如何将 git 代码库恢复到某个修订版 [重复]
【发布时间】:2012-03-14 04:40:23
【问题描述】:

可能重复:
How do you roll back (reset) a git repository to a particular commit?

我按照r1, r2, r3, r4, r5 in origin/master 的顺序进行了以下修订。

  1. 如何将整个代码库还原为某个分支中的先前快照(例如 r3
  2. 如果我这样做 [1],后续提交是否会说 r4', r5'r3 之上,并且我们不会在代码库中引用 r4, r5

【问题讨论】:

  • 这提供了一个可能的解决方案,而不会丢失对 r4、r5 的引用。 stackoverflow.com/a/1625275/277923
  • 如果 r4、r5 已经存在于 git 存储库中,这将如何工作。
  • @priya,这将创建一个新分支,它使 r4、r5 保持不变,而 r4' 和 r5' 在新分支上提交。这样,如果需要,您可以恢复到当前分支。
  • @AndrejsCainikovs 你如何将 r3 作为 HEAD 后结帐,以便将来的签入在此之上而不是 r5
  • @priya 好吧,我想你需要创建一个分支。

标签: git


【解决方案1】:
  1. git reset --hard r3 会将您当前签出的分支恢复为 r3
  2. 后续提交将在r3 之上。您将失去对r4r5 的任何引用,除非除了master 之外还有其他东西指向它。

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

【讨论】:

  • “保留”r4r5 的最简单方法是在 git reset 之前执行 git branch newbranchmaster 将重置为指向 r3newbranch将继续指向r5
猜你喜欢
  • 2010-11-15
  • 2011-10-11
  • 2019-02-15
  • 1970-01-01
  • 2016-01-28
  • 1970-01-01
  • 1970-01-01
  • 2011-03-14
  • 2013-05-12
相关资源
最近更新 更多