好吧,我刚刚犯了一个大错。
我正在做一个项目,我以为我在 master 分支工作。
所以我添加了我需要的文件,提交了它们,当我尝试推送到原点时,我得到了
Everything is up to date
我使用git branch
得到了
* (no branch)
* master
因此,在压力之下,我将待处理的更改 stash 在(无分支)中并检查了 master。 现在我丢失了所有更改,因为我无法 checkout “不应命名”的分支。当我列出分支时,我只有
* master
最佳答案
如果更改已提交,您并没有丢失。您只是没有对它们的命名引用。
尝试运行 git reflog
并在顶部附近寻找一条类似于 checkout: moving from <commit-id> to master
的行.然后你可以使用那个 <commit-id>
创建一个临时分支来检查您的更改并将它们带到 master
分支:
git checkout -b temp-branch <commit-id>
您可以 merge 这个分支,或者只是挑选必要的提交。
希望对您有所帮助。
关于git 分支(没有分支),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11882121/