致命:引用格式无效:'refs/stash 2' (128)

fatal: Reference has invalid format: 'refs/stash 2' (128)

我是一名新的独立开发者,正在开发我的第一个 iOS 应用程序。我正在使用 Git 和 Mac 来备份我的进度,这是我第一次使用 Git。

我正在 2 台笔记本电脑上开发应用程序。

我还将我的 Xcode 项目保存在我的 iCloud 文件夹中,以便它们在两台 mac 上同步。

前 2 个月一切正常,但我在 Git 上为 Mac 遇到了这个错误,我无法再同步到 Git 也无法恢复到较旧的提交。

这是错误:

fatal: Reference has invalid format: 'refs/stash 2' (128)

我的猜测是我的 mac 之间发生了 iCloud 同步错误并且搞砸了 Git。

我想做的就是能够修复 git 以便我可以恢复我最后的工作提交,然后我将从 iCloud 中删除我的项目以防止再次发生此错误。

如果您能提供任何帮助,我们将不胜感激!

查看您的 .git 文件夹下的树:
tree .git 并检查您的 git 文件系统中是否确实有此引用。

如果您想重置数据(如果可以),请执行 git reset HEAD --hard 它会将您当前的分支重置为最新提交。


您也可以尝试其他一些解决方案

备份您的存储库,因为以下命令是不可逆的。

搜索冲突文件并删除它们
find . -type f -name "* conflicted copy*" -exec rm -f {} \;

最后,从 git 的 packed-refs 文件中删除所有 "conflicted" 引用
awk '!/conflicted/' .git/packed-refs > temp && mv temp .git/packed-refs

也看看这里(冲突文件可能在的地方):

.git/logs/refs/remotes/origin/
.git/logs/refs/heads/
.git/refs/remotes/origin/
.git/refs/heads/

希望它能帮助您解决问题。