我刚开始使用git,所以这听起来像一个愚蠢的问题,抱歉。
我在python中开发并在Windows 7上使用Pycharm。我使用pycharm接口来执行git命令。
在某个分支上工作后,我提交了我的更改(但没有推送它们)。之后,我检查了master,然后再次签出了同一个分支。但这与我承诺的时间不一样。我可以回到我提交的版本吗?
同样,请记住我在回复时是初学者。
答案 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
合并到stage
(git checkout stage
和git merge temp
)。