因为与远端服务器存在冲突,在解决冲突的时候实际上是在(no branch)上做的。
修改了一段时间后,突然忘记了,以为是在某个branch中做的更改,我用git co master,然后用git branch一看,
git branch
* (no branch)
master
git branch
* master
吓一跳,之前的好多修改没有了,只有一个master branch, 好在印象中它提示了no branch等词,在google上搜了一下,发现有人遇到过此类情况
http://serverfault.com/questions/56722/git-seemed-to-be-in-no-branch-and-then-lost-my-changes
其中的git reflog命令在ubuntu下并不会自动补全出来做提示。故在此记录,以备不时之需。
解决方案如上述链接,这里简单重复一下:
git reflog
可以查看一下,到底是哪个对应的版本是自己想要恢复的版本。
然后:
git checkout ca2deraf(just an example)
最好再使用 git checkout -b backup
把其备份出来
本文介绍了一个在使用Git过程中遇到的问题——意外地在nobranch状态下工作导致的修改丢失,并提供了通过git reflog找回改动的方法。
1万+

被折叠的 条评论
为什么被折叠?



