【问题标题】:Private Git repo - freezes at pulling私人 Git 存储库 - 拉动时冻结
【发布时间】:2011-10-31 03:48:41
【问题描述】:

我刚刚在我的 linux 服务器上设置了 git 并配置了 SSH - 我想创建私有存储库以与我的朋友一起工作。当我拉或克隆该回购时,一切正常(局域网),但是当我的朋友尝试拉或克隆它(通过互联网)时, git 挂在:

remote: Compressing objects: x

其中 x 始终低于 17%。

有什么问题或我该如何解决?

PS:我没有使用 gitosis,我初始化了远程仓库:git --bare init

提前致谢。

更新:

结果命令:

$ cat .git/config

[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = ssh://git@server:port/~/repo_name.git
fetch = +refs/heads/*:refs/remotes/origin/*

 

$ git fetch -v
Enter passphare for key '/c/Users/dev/.ssh/id_rsa':
remote: Counting objects: 76, done.
remote: Compressing objects: 21% (12/55)

但是,当我的朋友获得带有源的 ZIP 并推送它时,一切正常。 所以他可以推。我添加了一个空文件并推送,他成功下载(拉取)了。

【问题讨论】:

  • 在 server-repo 上执行 git gc 有帮助吗?是否还涉及不同的协议(ssh/git/static-http/“intelligent”-http)?您是否为您和您的朋友访问使用相同的用户帐户,还是他们不同(我在考虑权限问题)?
  • @Rudi 好吧,当我通过本地 SSH 执行 git gc 时(服务器在我的计算机上运行)它完成了,但是当我的朋友尝试做同样的事情时它冻结了(光标永远闪烁)。在那之后他试图拉动它并冻结在Compressing objects: 7%。是的,我们有一个 git 帐户,我们正在使用 SSH 协议(在两台计算机上,来源看起来像这样):ssh://git@server_uri:port/~/repo_name.git。 Git repo 位于 git 帐户的主目录中。顺便说一句,我们使用的是git pull origin master
  • 听起来好像有一个网络组件在几秒钟后断开了 ssh 连接,很可能是 NAT 缺陷。如果连接的 TCP 数据包在一定时间后被丢弃(我怀疑缺少 ACK 数据包 server->client),则可以在两端尝试使用 wireshark。
  • 以防万一,您的朋友可以在克隆前尝试git config --global http.postBuffer 524288000吗?
  • @Vonc 不幸的是它没有帮助。它仍然冻结在10-14%

标签: linux git ssh compression debian


【解决方案1】:

让你的朋友试试:

git fetch -v

如果这不能给你答案,那就让他这样做:

cat .git/config

如果您的服务器是安全的,请更新您的问题以包含该命令的输出。如果不安全,请将 IP 和其他识别详细信息更改为虚假 IP 和虚假详细信息,但尽量不要更改任何其他内容,因为您最终可能会提供误导性信息。


根据更新进行编辑:

网址应以“ssh://”而不是“ssh/”开头。虽然我要仔细检查一下。

【讨论】:

  • 抱歉,我是ssh://。我只是用一些表情符号复制了它,它不见了。
  • 该死,那我真的不知道,因为其他一切看起来都很正常。你的朋友可以来你家吗?或者让您尝试从网络外部克隆/拉取您的存储库。这样您就可以确定问题是出在他身上还是出在您头上。
【解决方案2】:

如果 Git 推/拉冻结使用以前有效的配置,请尝试重新启动计算机。

这听起来很奇怪,但我在 Windows 和 Linux 上体验过。

【讨论】:

  • 这正是发生在我身上(在 Mac OS 上)。不确定究竟需要重置什么服务,但你正在做一些事情。谢谢!
【解决方案3】:

在我进入以太网适配器设置并将巨型数据包大小从 1514 字节更改为 9014 字节之前,我遇到了同样的问题。

【讨论】:

  • 很难相信 git 需要巨型数据包才能工作。
  • 我认为这实际上可能是另一种设置,与较小的尺寸相结合它失败了。几个月来我的网卡一直有问题。这可能是驱动程序问题。
猜你喜欢
  • 2020-09-23
  • 1970-01-01
  • 1970-01-01
  • 2013-01-16
  • 1970-01-01
  • 2020-08-31
  • 2016-04-08
  • 2015-05-06
  • 2014-01-13
相关资源
最近更新 更多