Git错误时推 - update_ref失败
我有一个问题,当我尝试推我的本地提交,它可能发生在Android Studio已经粉碎。以下是错误:Git错误时推 - update_ref失败
update_ref failed for ref 'refs/remotes/origin/master': cannot lock ref 'refs/remotes/origin/master': unable to resolve reference refs/remotes/origin/master: Invalid argument
$git stash
说HEAD
现在是我的最新承诺。
我仍然是git的初学者,我不知道如何解决它..我该怎么办?
您的refs/remotes/origin
目录 - 这是您的本地存储库中的一个目录 - 有某种问题。 (我不清楚究竟发生了什么错误,但是你猜测它发生在Android Studio崩溃时似乎也可能发生。)
要修复它,可以使用或许使用使用下面的命令序列。请注意,我不推荐使用它 - 您的Git服务无论是Android Studio还是普通的命令行Git都不应该崩溃并且给您留下一个损坏的存储库,所以您应该永远不要使用来做到这一点,它只是一个紧急修复,像把胶带都在你的车后树上掉下来就可以了,就足以让你到一个适当的维修/更换车辆后:
$ cd $(git rev-parse --show-toplevel) # if necessary
$ rm -rf .git/refs/remotes/origin # remove all origin/*
$ mkdir .git/refs/remotes/origin # create empty origin/
$ git fetch origin # repopulate origin/*
在任何情况下,它很可能你的git push
在这一点上确实成功了,因为失败的是对你的origin/master
远程追踪分支的更新。
你的Git刚说完另一混帐上origin
,给他们更新(的origin
用户)为他们的master
,并origin
接受这些更新,你的Git是现在记录的事实是,它最后一次与origin
,交谈,他们的master
被设置为某个特定的提交散列 - 您刚刚推送的散列。
(请记住,你origin/*
远程跟踪分支只是记录,对你来说,你的Git看到什么他们 Git有它的分支机构。您的Git更新这些当您运行git fetch
,在您的Git会谈到他们的Git并得到其所有分支机构。您的Git还更新了一些,不是全部的git push
,当你的Git会谈到他们的Git,并要求他们设置一个或多个分支机构,为您的Git递给她们的哈希值。)
Excep作为一名Git机械师,我的推荐部件实际上是适当的车身面板,皮带和软管,以及夹具,而不仅仅是胶带,打包线和口香糖。 :-)
要提交到您的在线回购,您需要这样做:$ git push origin branch_name
。要知道你的分支名字只需要做一个$ git status
,它就会显示出来(在git bash中它是用蓝色着色的)。你的问题可能来自不同的来源。基本上,git告诉你它不能理解你作为参数传递的内容。你确定你在你的仓库吗?
除了在接受的答案中提到的步骤之外,我还必须使用下面的垃圾回收器命令来删除悬挂提交blob。
git gc --prune="0 days"
您可以通过运行
git fsck
工程就像一个魅力,非常感谢你! – Pawel