我的git存储库发生了一件奇怪的事情.当我尝试在tortoisegit窗口中提交某些内容时,我会收到项目中的所有文件.我不能回复他们,当我从服务器获取我收到fatal: No such ref: HEAD和fatal: Cannot lock the ref 'HEAD'.我所有的本地分支都不见了.有什么方法可以解决这个问题吗?
这不是第一次提交或其他什么.这件事突然发生了.
编辑:
git branch -a 说: Failed to resolve HEAD as a valid ref
git status 打印标记为新文件的所有项目文件.
我改变了存储库文件夹名称一段时间,当我更改它时,事情是不正确的.
CB *_*ley 67
你已经失去了你,HEAD所以你需要重新创建它.最简单的事情是这样做.
echo ref: refs/heads/master >.git/HEAD
Run Code Online (Sandbox Code Playgroud)
现在你应该能够运行其他git命令并查看你所处的位置.
(虽然从理论上讲,你可以尝试git symbolic-ref HEAD refs/heads/master更新的git版本,但不会将它识别.git为git存储库,除非它已经包含了一个,HEAD所以这不会创建一个新的.)
HEAD通常是对特定分支的引用; 在您的情况下,似乎分支指针已丢失,因此无法解析HEAD引用.
您可以使用git fsck --lost-found扫描对象缓存中的无法访问的对象; 具体来说,您对提交感兴趣,可以在下面找到.git/lost-found/commit/; 这些是你的分支的指针,你需要做的就是找出哪个,并使用创建新的引用git branch.
我认为这个答案可能对某人有帮助.我几乎解决了这个问题.首先,我所做的就像Charles Bailey写的那样,使用
echo ref: refs/heads/master >.git/HEAD
Run Code Online (Sandbox Code Playgroud)
然后我的分支变成了主人.我提交了更改并且能够切换到我的主分支.问题是我无法使用我当地的任何分支机构.特别是我想在分支812上工作.所以我发现最后一次提交分支812(当提交非常有用时创建消息;))并切换到它.接下来,我根据切换到的那个创建了分支812.不幸的是有些文件丢失了.幸运的是,我把它们放在破碎的仓库上,我在'echo'之前复制了它
| 归档时间: |
|
| 查看次数: |
49366 次 |
| 最近记录: |