【问题标题】:Can't push to git bare repository on windows无法推送到 Windows 上的 git 裸存储库
【发布时间】:2012-03-01 11:56:03
【问题描述】:

我在 Windows 上玩 GIT。安装了 msysgit(最新版本),看起来一切都很好。我在我的 c:/repo 文件夹上创建了裸存储库,我已使用以下命令克隆到 c:/repoclone/:

git clone git://localhost/repo

为了启用 git 协议,我使用以下命令运行另一个 git-bash 窗口。

git daemon --export-all --enable=receive-pack

正确克隆它。基本上,我希望 c:/repoclone/repo 成为我的工作目录,并且我希望将更改推送到位于 c:/repo 的裸存储库中。拉取似乎对我来说很好,但每当尝试推送数据时,它似乎会继续处理而不会出现任何错误。

一旦手动中断守护程序命令,我得到以下错误。

fatal: sha1 file '<stdout>' write error: Invalid argument
fatal: read error: Invalid argument
error: failed to push some refs to 'git://localhost/repo'

任何想法。

【问题讨论】:

  • git remote -v 在您的c:/repoclone/repo 中显示什么?您使用什么确切的命令推送到c:/repo?先试试git push origin master,看看它是否也会停止。
  • git remote -v 显示 'origin git://localhost/repo (fetch)' 'origin git://localhost/repo (push)' git push origin master 命令给出相同的结果计数对象: 3、完成。写入对象:100% (3/3) 但继续处理写入语句在 git daemon bash 我得到以下日志.. [77552] 准备隆隆声 [45740] 来自 10.0.0.11:50875 的连接 [45740] 扩展属性(10 字节) 存在 [45740] 为“/repo”请求接收包 [45740] 致命:写入错误:无效参数

标签: git msysgit git-push


【解决方案1】:

我永远无法找到上述问题的解决方案,发现很多人有同样的问题但没有适当的解决方案。我放弃了 GIT 协议的想法,而是开始使用 git over HTTP。 http://gitblit.com 是通过 HTTP 工作的非常好的解决方案。

希望对您有所帮助。

【讨论】:

  • 感谢您的反馈,以及(非常有趣的)gitlib 链接。
【解决方案2】:

每次我尝试推送到存储库时,我都会在 TortoiseGIT 上遇到同样的问题。
最后我使用--force 选项解决了我的问题

【讨论】:

    【解决方案3】:

    当裸存储库的主机上没有剩余空间时,我已经看到了这种情况。请释放一些空间,然后重试。

    【讨论】:

      猜你喜欢
      • 2017-02-04
      • 1970-01-01
      • 2013-04-11
      • 2011-03-14
      • 1970-01-01
      • 2020-02-22
      • 2011-01-10
      相关资源
      最近更新 更多