Git提交然后签出

时间:2017-07-14 13:26:53

标签: git version-control pycharm

我刚开始使用git,所以这听起来像一个愚蠢的问题,抱歉。

我在python中开发并在Windows 7上使用Pycharm。我使用pycharm接口来执行git命令。

在某个分支上工作后,我提交了我的更改(但没有推送它们)。之后,我检查了master,然后再次签出了同一个分支。但这与我承诺的时间不一样。我可以回到我提交的版本吗?

同样,请记住我在回复时是初学者。

1 个答案:

答案 0 :(得分:0)

这是不可能的。有些条件可能导致您在结账后无法找到提交,例如您正在处理分离的HEAD或者您正在处理另一个分支。

要弄明白,您可以使用命令git reflog从上到下查找最新消息:

checkout: moving from *** to master at HEAD@{n}
  • 如果***显示的分支名称如下:

    5cc0787 HEAD@{1}: checkout: moving from dev to master

    这意味着在您结帐到master分支之前,您已对dev分支进行了更改。

  • 如果***显示提交ID(sha-1值),如:

    5cc0787 HEAD@{1}: checkout: moving from b503fa537bac459862752641facbd5b50783d7b5 to master

    这意味着你在一个独立的HEAD雕像上工作。如果提交的更改仍然要用于分支(例如stage),则可以从分离的HEAD(temp)创建新分支(git checkout -b temp b503f),然后将新创建的分支temp合并到stagegit checkout stagegit merge temp)。