处理git报错:cannot lock ref ‘ORIG_HEAD’

QuibblerQuibbler 2024-03-18 约 2 分钟 2050 次阅读

处理git报错: cannot lock ref ‘ORIG_HEAD’

日常遇到坑,用git pull拉取代码头一回遇到这个报错:

fatal: update_ref failed for ref ‘ORIG_HEAD’: cannot lock ref ‘ORIG_HEAD’: 
    unable to resolve reference ‘ORIG_HEAD’: reference broken

查阅资料了解到这个错误通常意味着ORID_HEAD引用已损坏,可能是由于之前的某个操作中断或失败导致的。

要解决这个问题,需尝试重新创建ORID_HEAD引用,使它指向正确的提交。首先,删除一损坏的ORID_HEAD:

rm .git/ORIG_HEAD
    //或
    rm -Force .git/ORIG_HEAD

创建一个新的ORID_HEAD,来指向当前的头部的提交:

git reset --hard HEAD

如果上面的方法不起作用,还可以尝试使用底层的 symbolic-ref 命令来修复引用:

git symbolic-ref HEAD refs/heads/master

这将把 HEAD 引用重置为默认的分支引用,比如 master 分支。

要是还不行,最后的最后使用 git fsck 命令来检查和修复损坏的引用或对象:

git fsck --full

将会检查整个存储库并尝试修复任何损坏的引用或对象

相关推荐

git rebase调整commit提交的顺序
Git

git rebase调整commit提交的顺序

git rebase调整commit之间顺序一连提交了几笔commit,想调整一下顺序,把其中一笔提交置顶拿到最前面来,专门修改这一笔提交。当然如果想修改某一笔提交,可以reset到那笔commit,进行修改,完成之后再把之后的提交cherry-pick回去。git log查看提交记录,每笔提交记录太多,可以让每笔提交仅显示一行查看 --oneline。使用git rebase -i进入编辑,之前

1.4w
git blame:显示文件的每行提交记录信息
Git

git blame:显示文件的每行提交记录信息

git blame:显示文件的每行提交记录信息git blame对文件的每行信息都进行注释。能看到关于该行修改的每一次commit的哈希标签、作者和提交日期。Intellij IDEA在打开文件的行数右键点击Annotate显示文件每一行的记录信息。应该用的就是这个命令实现的功能。

5.5k
Git可视化工具:Sublime Merge
Git

Git可视化工具:Sublime Merge

Git可视化工具:Sublime Merge同事推荐了一个Git 可视化客户端:Sublime Merge ,由知名文本编辑器 Sublime Text 开发商打造。自己平时用的则是最好用的Git GUI工具:SourceTree,也体验了下Sublime Merge,用起来还不错。直接点击下载或购买后,安装即可。功能免费,完整功能无限制使用。但是订阅内容(比如更换主题)付费。Sublime Me

2.8k