• git使用


    git pull时遇到error: cannot lock ref ‘xxx’: ref xxx is at (一个commitID) but expected的解决办法
    在执行git pull时遇到如下错误:error: cannot lock ref 'xxx': ref xxx is at (一个commitID) but expected

    1
    遇到这个错误会导致git pull失败。

    问题原因
    原因是你这个git工程的.git/refs目录下跟踪的某些git分支,在git pull的时候,与远端的对应分支的refs对比发现不同,所以导致git pull报错。

    通常产生这个问题的原因是(以分支git/yousa/feature_01为例):

    有人操作git/yousa/feature_01这个分支,在git push的时候使用了git push –force,(当然这个人的git push是push不上去),导致远端分支被覆盖,你本地的refs与远端无法一致,导致问题
    git分支是不区分大小写的,如果有人删除掉这个远端分支又重新新建了一个这个分支也会出现同样的问题。

    解决办法
    根据前面的原因有一些操作方法,基本思路就是要么,强行git pull;要么则是删除掉有问题的refs,再进行git pull(个人还是推荐第二种)(以分支git/yousa/feature_01为例)

    删除有问题的refs,可以直接在.git/refs下面根据错误提示删除对应的refs文件,比如这个就是需要删除refs/remotes/origin/git/yousa/feature_01文件(嫌麻烦直接删除整个refs目录也行)
    使用git命令删除相应refs文件,git update-ref -d refs/remotes/origin/git/yousa/feature_01

  • 相关阅读:
    gulp
    grunt
    iscroll手册
    Javascript闭包演示【转】
    【转】Backbone.js学习笔记(二)细说MVC
    【转】Backbone.js学习笔记(一)
    node包管理相关
    写出高效率的正则表达式的几点建议
    常用正则表达式
    help、man和info工具的区别
  • 原文地址:https://www.cnblogs.com/gelon/p/12750843.html
Copyright © 2020-2023  润新知