git出现警告You are not currently on a branch.代码丢失后的找回方法

git pull出现警告:

git push出现警告:

出现场景:

        在vscode某分支上操作git add 及 git commit后使用git push提交出现的警告

出现原因:

        观察vscode左下角分支名称是一个随机码,说明我们当前不在自己的git分支上开发

解决办法:

1.如果你在commit后仍然停留在临时分支,可以使用下方指令将当前分支的提交推送到远程仓库的指定分支:

git push origin HEAD:<name-of-remote-branch>

<name-of-remote-branch> 是你想要推送到的远程仓库的分支名称

2.如果你已经切换到了自己的分支,那临时分支将会消失,会出现找不到commit内容的情况

  • 先执行git reflog 来找之前的提交记录
  • $ git reflog
    f4b9b52 (HEAD -> master) HEAD@{0}: commit: Updated README.md
    c07c9d1 HEAD@{1}: commit: 临时提交的代码
    983d071 HEAD@{2}: commit: Added new feature1
    f987g2e HEAD@{3}: commit: Initial commit
  • 根据上面commit后面的提交备注来区分是否为刚才提交的代码
  • 找到后拿到HEAD前面的hash值
  • git checkout -b 新分支名称 c07c9d1(此处为hash值)

  • 执行上面的命令还原到该提交并创建一个新的分支

  • 如果需要提交代码 执行git  push origin 新分支名称 即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值