5

说明

Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius、Merb和Bitcoin在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。[来自某度]

此文章会持续更新,总结自己使用git遇到的错误以及解决办法。

git开发错误总结

cannot lock ref

错误描述

error: cannot lock ref 'refs/remotes/origin/dev': ref refs/remotes/origin/dev is at 19070aed6873f8d58f35e4631272b59f13927a1c but expected 8a5b3bda0778070bd6b92123556475c9484e04b8
From 120.26.77.241:yourWorkspace/yourProject

如果使用的sourceTree可视化工具,看到的完整的信息是这样的:
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree fetch origin
error: cannot lock ref 'refs/remotes/origin/dev': ref refs/remotes/origin/dev is at 19070aed6873f8d58f35e4631272b59f13927a1c but expected 8a5b3bda0778070bd6b92123556475c9484e04b8
From 120.26.77.241:dongjia/php
! 8a5b3bd..007af81 dev -> origin/dev (unable to update local ref)
Completed with errors, see above

解决办法

进入到项目根目录,执行下面命令:

rm .git/refs/remotes/origin/dev

git fetch

如果没有权限,请加sudo,windows用户在文件工具开启查看隐藏文件,进入到对应目录删除该文件即可。


Joyven
630 声望34 粉丝

不学无(用之)术,不安于现状,总想鼓捣点什么,或者总想尝试一些什么新鲜事物。