一.执行git pull时报错无法锁定ref
错误描述
错误:无法锁定ref'refs / remotes / origin / dev':ref refs / remotes / origin / dev是19070aed6873f8d58f35e4631272b59f13927a1c但是预期8a5b3bda0778070bd6b92123556475c9484e04b8
来自120.26.77.241:yourWorkspace/yourProject
如果使用的sourceTree可视化工具,看到的完整的信息是这样的:
git -c diff.mnemonicprefix = false -c core.quotepath = false -c credential.helper = sourcetree fetch origin
error:无法锁定ref'refs / remotes / origin / dev':ref refs / remotes / origin / dev是19070aed6873f8d58f35e4631272b59f13927a1c但预计8a5b3bda0778070bd6b92123556475c9484e04b8
来自120.26.77.241:dongjia/php
!8a5b3bd..007af81 dev - > origin / dev(无法更新本地参考)
已完成但有错误,请参见上文
解决办法
进入到项目根目录,执行下面命令:
rm .git/refs/remotes/origin/dev
git fetch
没有权限,加上sudo的,窗户用户在文件工具开启查看隐藏文件,进入到对应目录删除该文件。
之后执行git pull即可。
二、误操作git假定未变更导致修改文件无法提交
1.备份修改的文件
2.用git删除文件
3.用git还原文件
4.将备份的文件复制回目录