Git 推送错误

问题描述 投票:0回答:6

我正在使用集中式 git 工作流程,其中 Windows 服务器上有一个中央存储库,并且我们在开发计算机上有工作目录。一切都很顺利,直到我在推送到远程存储库时突然开始出现错误。这是错误:

remote: fatal: failed to write object
fatal: sha1 file '<stdout>' write error: Broken Pipe
error: failed to push some refs to 'my_central_repo'

我不知道发生了什么,但我需要将我的项目推送到中央仓库,任何帮助将不胜感激。

git
6个回答
9
投票

这也可能是由于远程 git repo 目录的所有者权限问题造成的。以 root 身份创建目录时也会发生这种情况。

如果你这样做

# ls -al <repo-name>.git

然后看

drwxr-xr-x .. .. root root .. .. <repo-name>.git

那么这可能是问题的根源,您正在尝试使用非 root 帐户推送到存储库。

可以通过以下方式轻松解决:

# chown -R git:git <repo-name>.git ; ls -al
drwxr-xr-x .. .. git git .. .. <repo-name>.git

然后享受成功

git push


5
投票

在解决问题时,我发现这篇文章解释了根本原因,但就我而言,是缓慢的网络导致了此问题。一旦我转移到更快的网络,推送就完成了。可能与超时有关。


1
投票

在我的例子中,真正将第一次提交推送到远程 bitbucket 存储库。 cmd后出现错误:

git push -u origin master

通过删除“-u”标志解决了问题


0
投票

我仍在试图找出根本原因,但怀疑这是与权限相关的错误。当我使用 GitServer 的管理员帐户将网络驱动器映射到中央存储库所在的目录时,它解决了问题。

奇怪的是,我之前推送到我的 GitServer 存储库时,与我的个人凭据映射的网络驱动器没有问题,所以我不确定发生了什么改变了我的用户存储库的权限。使用其他中央存储库的其他用户没有遇到此问题。


0
投票

尝试将远程 URL 从 https 更改为 git

git remote set-url origin [email protected]:username/reponame.git

-2
投票

除非是 git 服务器的权限问题(你有管理员权限吗?),否则可能是自上次拉取以来有一些新的推送。尝试:

git pull --rebase origin master
git push origin master
© www.soinside.com 2019 - 2024. All rights reserved.