Git挽救丢失的代码
博客专区 > 囚兔 的博客 > 博客详情
Git挽救丢失的代码
囚兔 发表于5年前
Git挽救丢失的代码
  • 发表于 5年前
  • 阅读 1618
  • 收藏 11
  • 点赞 1
  • 评论 4

新睿云服务器60天免费使用,快来体验!>>>   

    昨天晚上头脑一发热,丢失了之前忘记提交的代码,情况如下:

    有两个分支master,develop,使用develop作为开发分支,前段时间开发了一些代码在develop上,忘记提交,昨晚头脑发热直接切换到master目录下,导致无法找到之前开发的未提交的代码,通过在讨论区提问和自己查找资料,最终找回代码,具体操作如下:

使用git reflog命令找到我昨天切换分支的日志即cee30a8 HEAD@{3}:checkout: moving from 90ccea197...这行,其中90ccea1...为SHA-1码,用来唯一的标识一个代码快照,这也就是我要还原回去的代码快照。

  先建立一个临时分支recover-branch并指向90ccea197...标识的快照,则该分支即为之前未提交代码的develop分支状态然后再将其合并到develop和master解决问题。

  下次得记得当前分支未提交代码在不提交的情况下切换分支,得使用git stash。

    感谢讨论区的朋友的回答



标签: Git git log
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
囚兔
粉丝 36
博文 70
码字总数 42254
评论 (4)
neoaries
谢谢分享,不过希望不会用到这个功能
b33d8041
git 早就不允许这样做了啊,除非 foece
囚兔

引用来自“biergaizi2009”的评论

git 早就不允许这样做了啊,除非 foece

我又测试了下,有两个库master和develop,当前为develop,修改文件README的一行,
执行git checkout master,显示:
M README
Switched to branch 'master'
然后修改同步到了master库,这是为什么呢?
b33d8041

引用来自“shipley”的评论

引用来自“biergaizi2009”的评论

git 早就不允许这样做了啊,除非 foece

我又测试了下,有两个库master和develop,当前为develop,修改文件README的一行,
执行git checkout master,显示:
M README
Switched to branch 'master'
然后修改同步到了master库,这是为什么呢?

可能是 MinGW 的版本问题,我也用但也没发现这个问题。我起床之后去试试我的 Linux
×
囚兔
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: