总计之后Git坚持推动

时间:2017-10-20 12:02:43

标签: git laravel ssh vps

我最近使用Vultr设置了一个VPS,并设置了一个远程git存储库来上传我的项目。

将遥控器添加到我的本地项目并尝试第一次按下它后,它会在显示“Total 119(delta 9),reused 0(delta 0)”后挂起。

提供一些背景信息:

  • 服务器是Ubuntu 17.04 x64
  • 的全新设置
  • 我本地有git版本2.14.1
  • 我之前已经使用Vultr(Ubuntu 16.04 x64)在另一个VPS上完成了这一切,一切正常
  • 本地git项目设置正确,因为我在BitBucket上有一个遥控器,我可以成功推送项目
  • 我已经尝试按照其他类似问题的建议增加缓冲区大小
  • 我正在尝试上传一个新的小型Laravel项目 - 没有特殊或大文件(每个文件低于1MB)
  • 我已根据其他类似问题的建议将我的git版本更新为最新版本(从2.12到2.14)
  • 我的SSH连接工作正常,我甚至用Debug Level 3设置它,所以它非常详细(我有下面的日志)
  • 远程存储库似乎设置正确(我试图创建一个额外的远程,指向同一服务器上的不存在的repo,使用相同的SSH连接,我从GIT得到一个正确的错误消息,它找不到回购)
  • 我已经设置了有和没有--shared的回购,但结果是相同的
  • 我甚至等待(超过8小时)并且没有任何反应,没有错误消息,它仍然悬挂着
  • 我已经尝试了在2天内找到的关于这个主题的所有其他解决方案,我仍然得到相同的结果(甚至重新创建我的回购几次,尝试了不同的名称,尝试chmod 777用于我的repo和我的工作目录服务器等。)

以下是git push上详细的ssh输出的一部分(在验证了ssh密钥之后):

debug3: send packet: type 50
debug3: receive packet: type 52
debug1: Authentication succeeded (publickey).
Authenticated to 45.63.116.43 ([45.63.116.43]:22).
debug2: fd 4 setting O_NONBLOCK
debug2: fd 5 setting O_NONBLOCK
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Requesting no-more-sessions@openssh.com
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: network
debug3: receive packet: type 80
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug3: receive packet: type 91
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug3: ssh_packet_set_tos: set IP_TOS 0x08
debug2: client_session2_setup: id 0
debug1: Sending command: git-receive-pack '/var/repo/hc-teaser.git'
debug2: channel 0: request exec confirm 1
debug3: send packet: type 98
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel 0: rcvd adjust 2097152
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: exec request accepted on channel 0
Counting objects: 119, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (104/104), done.
Writing objects: 100% (119/119), 277.89 KiB | 5.91 MiB/s, done.
Total 119 (delta 9), reused 0 (delta 0)
debug2: channel 0: read<=0 rfd 4 len 0
debug2: channel 0: read failed
debug2: channel 0: close_read
debug2: channel 0: input open -> drain
debug2: channel 0: ibuf empty
debug2: channel 0: send eof
debug3: send packet: type 96
debug2: channel 0: input drain -> closed
debug2: channel 0: rcvd adjust 65689

在最后一行之后,它会无限期地挂起。

1 个答案:

答案 0 :(得分:1)

问题是目标文件夹权限错误。创建目标文件夹时,我使用“ sudo”,因此所有者设置为root。当我将目标文件夹所有者更改为我的用户(用于推送存储库的所有者),并将该组更改为www-data时,一切都像个魅力。

因此,我了解到,当git无法将文件从您的repo移到目标文件夹时,由于它没有适当的授权,它不会显示任何错误报告,只会无限期地等待。< / p>