2017-07-14 54 views
0

我刚开始使用git,所以这可能听起来像一个愚蠢的问题,对此感到遗憾。Git commit然后结账

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

在一些分支上工作后,我提交了更改(但没有推送它们)。之后,我查出了主人,然后再次检查了同一个分支。但是这与我犯下的时候并不相同。我可以回到我承诺的版本吗?

再一次,请记住,我是一名初学者时,回应。

+0

你在描述什么不对。你能指定你在整个上述过程中使用的命令吗? –

+1

你如何知道在检查主人之前分支是不同的?有什么不同,你期望看到什么? –

+0

我正在使用pycharm社区加入2016.1.3。在右侧屏幕的底部有一个界面,可以让您检出分支。我查出了主人,然后是我之前做过承诺的那个分支。现在我有一些丢失的文件。 – user25640

回答

0

这是不可能的。有一些情况可能会导致您无法在结帐后找到提交,例如您正在使用分离的HEAD,或者您正在另一个分支上工作。

要弄清楚,你可以使用命令git reflog从上往下找最新消息:

checkout: moving from *** to master at [email protected]{n} 
  • 如果显示该分支名称,如***

    5cc0787 [email protected]{1}: checkout: moving from dev to master

    这意味着在结账到master分行之前,您在dev分行承诺更改。

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

    5cc0787 [email protected]{1}: checkout: moving from b503fa537bac459862752641facbd5b50783d7b5 to master

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