将git更改还原为修订版

时间:2015-03-25 21:36:04

标签: git atlassian-sourcetree

我已经接受了我的一些小型测试项目的git,并试图恢复几个版本。现在我做了一些事情,不知道到底是什么,我无法用它做任何事情。为了避免我试图解释这个问题,我已经解决了这个问题,所以如果有人能解释我在这里做了什么,以及如何最好地摆脱这个问题。

enter image description here

要注意:我一直在尝试将修改恢复为现在标记为HEAD的修订。

2 个答案:

答案 0 :(得分:1)

你有detached head。你可以通过很多方式来到这里,所以说起来有点难。您很可能已经检出了特定的提交。如果双击提交,就会发生这种情况。

我想你需要做的就是再次检查你的分支机构。尝试右键单击master分支并选择checkout。

如果您更喜欢终端:

git checkout master

答案 1 :(得分:1)

你所做的事情是分离头。回到提交结构重构'。

HEAD是您目前在brnach中指向的地方。头部可以前后移动。 很难理解你想要实现的目标,但是如果你愿意回到“重构”这样的话。并从那里继续:

从命令行:

  1. 运行git checkout master。这将指向您回复123&#39;在当地的主分公司。<​​/ li>
  2. 运行git log。这将显示所有提交历史记录。复制&#39;结构重构&#39;的提交哈希。即

    提交d47ad1b23fb7ebcfaee36918b8ff0b68f1a3bebf

  3. 运行git reset --hard。这将指向你的结构重构&#39;,其中commit hash是你刚才复制的那个(在我的例子中是d47ad1b23fb7ebcfaee36918b8ff0b68f1a3bebf)。

  4. 在sourceTree中:

    1. 双击&#39; Revert123&#39;这将结帐回主分支
    2. 右键点击&#39;结构重构&#39;选择&#39;将master重置为此提交&#39;
    3. 选择使用模式:&#39; hard&#39;
    4. 注意:这将删除&#39; revert123&#39;和&#39; test123&#39;完全。如果您想保留更改,请选择使用模式&#39; soft&#39;