当不在任何分支时,当前不在任何分支+ git commit + checkout上.我放松了改变吗?

Sew*_*wdn 35 git commit

当我提交更改时,我当前不在任何分支上.我没有真正注意到这个消息,并检查了另一个分支.

如何检索我的更改?我无法合并或结帐,因为没有要合并的分支.

man*_*lds 68

您可以使用git reflog获取在"无分支"(分离的HEAD)中执行的提交的提交哈希,并将其合并到您当前所在的分支(主可能)

就像是 git merge HEAD@{1}

您还可以git rebase -i从reflog中"选择"您想要的提交.


Kel*_*aar 11

在做了一些工作之后,我处于类似的状态:

Lilith:经理KelSolaar $ git status

目前不在任何分支机构.

我发出了一个git日志来查看我的上次提交哈希:

莉莉丝:经理KelSolaar $ git log

提交49984303037e970d637161c3154b7fd7d6ae3a43作者:KelSolaar日期:2011年10月5日星期三22:41:31 +0100

Introduce new "QObject" components category and rename existing ones to "Def
Run Code Online (Sandbox Code Playgroud)

然后我检查了我的主分支:

Lilith:经理KelSolaar $ git checkout master

之前的HEAD位置是4998430 ...引入新的"QObject"组件类别,并将现有的组件重命名为"Default"和"QWidget".

切换到分支'主'

最后我使用提交哈希合并:

Lilith:经理KelSolaar $ git merge 49984303037e970d637161

正在更新141bc69..4998430

快进

src/manager/component.py | 2 + -

...


Max*_*asy 9

git checkout - 会把你切换回上一个分支:

Thu Feb 21 12:50 AM /src/test ((08f84f4...)) $ git checkout master

Warning: you are leaving 1 commit behind, not connected to
any of your branches:

  08f84f4 Fix everything

Switched to branch 'master'

Thu Feb 21 12:50 AM /src/test (master) $ git checkout -

HEAD is now at 08f84f4... Fix everything

Thu Feb 21 12:50 AM /src/test ((08f84f4...)) $
Run Code Online (Sandbox Code Playgroud)

  • 我认为这是最好的答案。另外值得一提的是,您可以使用`git branch`检查您当前的分支 (2认同)