0

我知道这已经在其他地方得到了详细的回答,但我只需要一个简单的答案......我无法理解其他地方的长时间讨论

这是这种情况:

  1. 开发机器 - 将变更集 X 推向头部。
  2. 生产机器 - 拉动变更集 X。生产机器中断。
  3. 开发人员恐慌,想要在生产机器上恢复到变更集 X-1,而不删除变更集 X。

在生产机器上执行此操作的简单方法是什么?

谢谢。

更新:我应该一直在搜索“回滚”变更集,而不是“恢复”!如果您处于相同的情况,您也应该这样做 - 即您想在本地返回特定提交,而不更改 git 历史记录。

4

2 回答 2

1

好吧,您可以使用标签来保留 ref commit X

git tag commit_X -m 'this is the commit that causes problem'
git reset --hard HEAD^
git push --tags
git push -f

稍后,如果您想签commit X出并查看那里发生了什么,只需使用该commit_X标签来恢复变更集。

于 2013-06-06T11:41:40.383 回答
0

OK, this seemed to work:

git log | more

Then find the entry you want to go back to, e.g.:

commit 4facf8fc299a545557b4a47a61ed876efe55eab6
Date:   Thu May 30 19:17:32 2013 +0100
Fix syntax error

Then type:

git checkout 4facf8fc299a545557b4a47a61ed876efe55eab6
于 2013-06-06T11:35:22.657 回答