error: cannot lock ref ‘refs/remotes/origin/[branch]’ is *** but expect ****
# 先更新一下reference
git update-ref -d refs/remotes/origin/[locked branch name]
# 随后同步代码 git pull
#git-update-ref - 安全地更新存储在ref中的对象名称
给定两个参数,将<newvalue>存储在<ref>中,可能会取消引用符号引用。例如,git update-ref HEAD <newvalue>
将当前分支头更新为新对象。
给定三个参数,在验证<ref>的当前值匹配<oldvalue>之后,将<newvalue>存储在<ref>中,可能会解引用符号引用。例如git update-ref refs/heads/master <newvalue> <oldvalue>
,只有当它的当前值是<oldvalue>时,才将主分支头更新为<newvalue>。您可以指定40“0”或空字符串作为<oldvalue>以确保您创建的引用不存在。
它还允许“ref”文件通过从“ref:”的四字节标题序列开始,成为另一个ref文件的符号指针。
更重要的是,它允许ref文件的更新遵循这些符号指针,无论它们是符号链接还是这些“常规文件符号引用”。它仅在以“refs /”开头时遵循真正的符号链接:否则它只会尝试读取它们并将它们更新为常规文件(即,它将允许文件系统跟随它们,但会覆盖此类符号链接到其他位置一个普通的文件名)。
如果给出--no-deref,则<ref>本身被覆盖,而不是遵循符号指针的结果。
git使用文档:
https://www.php.cn/manual/view/35110.html