首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sourcetree/GIT -当拉动时不能锁定引用/中断引用

Sourcetree/GIT -当拉动时不能锁定引用/中断引用
EN

Stack Overflow用户
提问于 2017-11-10 15:23:32
回答 13查看 40.4K关注 0票数 29

一位同事和我已经在同一分支工作了一个星期,不停地推拉变化,今天突然,我点击“拉”,看看是否有任何变化我需要拉,我出了一个错误。

顺便说一句,这是原始的。错误是:

代码语言:javascript
复制
git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
error: cannot lock ref 'refs/remotes/origin/angular_removal': unable to resolve reference 'refs/remotes/origin/angular_removal': reference broken
From https://bitbucket.org/colossus
 ! [new branch]        angular_removal -> origin/angular_removal  (unable to update local ref)

我在源树,里面有一个终端,但我在这里似乎找不到解决方案。

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2021-04-29 18:48:39

我能够通过删除.git/packed-refs文件中的所有项目来修复这个问题。

然后,我做了一个git拉入终端,从远程获取所有的引用/代码。

票数 4
EN

Stack Overflow用户

发布于 2018-09-17 08:03:50

错误文本对我来说略有不同,比如:unable to update local ref it is [hash_code_1] but expected [hash_code_2]

因此,像rm -rf .git/refs/remotes/origin/angular_removal这样的命令只帮助我进行了一次提取。然后消息会再次回来。

在这种情况下,真正帮助永久解决这一问题的是:

  1. 进入本地存储库的.git子文件夹;
  2. 打开包装-参考文件;
  3. 从错误信息中查找具有分支名称的行;
  4. 将其从该文件中删除;
  5. 现在你可以去取或拉你喜欢的东西了。
票数 49
EN

Stack Overflow用户

发布于 2018-05-15 08:56:43

接受的解决方案只提供了OP如何绕过这个问题的详细信息,而这并不是一个明确的答案。

为了像我这样从谷歌来到这里的人,这里有一个解决方案,实际上是可行的。

如果错误消息如下所示,

代码语言:javascript
复制
error: cannot lock ref 'refs/remotes/origin/angular_removal': unable to resolve reference 'refs/remotes/origin/angular_removal': reference broken

在这里,违规元素是一个名为refs/remotes/origin/angular_removal的损坏文件,它驻留在.git隐藏文件夹中。

为了解决这个问题,请在存储库根目录下运行以下命令。

代码语言:javascript
复制
rm .git/refs/remotes/origin/angular_removal
git fsck

git试图重新初始化丢失的引用时,第一个命令就应该修复这个问题。

命令git fsck在那里只为了检查存储库是否运行良好。

注意事项:对于其他文件,ref文件会有所不同。因此,请确保您使用的是您收到的错误消息中的ref文件名。**

票数 48
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47226069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档