Git หยุดทำงานหลังจาก Total

ฉันเพิ่งตั้งค่า VPS ด้วย Vultr และตั้งค่าพื้นที่เก็บข้อมูล git ระยะไกลเพื่ออัปโหลดโปรเจ็กต์ของฉัน

หลังจากที่ฉันเพิ่มรีโมตไปยังโปรเจ็กต์ในพื้นที่ของฉัน และพยายามทำการพุชครั้งแรก รีโมตจะแฮงค์หลังจากแสดง "Total 119 (delta 9), reused 0 (delta 0)"

เพื่อให้บริบทเล็กน้อย:

  • เซิร์ฟเวอร์เป็นการตั้งค่าใหม่ของ Ubuntu 17.04 x64
  • ฉันมี git เวอร์ชัน 2.14.1 ในเครื่อง
  • ฉันเคยทำสิ่งนี้มาก่อนบน VPS อื่นที่มี Vultr (Ubuntu 16.04 x64) และทุกอย่างทำงานได้ดี
  • โปรเจ็กต์ git ในเครื่องได้รับการตั้งค่าอย่างถูกต้องเนื่องจากฉันมีรีโมตบน BitBucket ซึ่งฉันสามารถพุชโปรเจ็กต์ได้สำเร็จ
  • ฉันได้ลองเพิ่มขนาดบัฟเฟอร์ตามที่แนะนำสำหรับคำถามอื่นๆ ที่คล้ายกันแล้ว
  • ฉันกำลังพยายามอัปโหลดโปรเจ็กต์ Laravel ขนาดเล็กใหม่ - ไม่มีไฟล์พิเศษหรือไฟล์ใหญ่ (ทุกไฟล์มีขนาดต่ำกว่า 1MB)
  • ฉันได้อัปเดตเวอร์ชัน git ของฉันเป็นเวอร์ชันล่าสุดที่มี (จาก 2.12 เป็น 2.14) ตามที่แนะนำสำหรับคำถามอื่น ๆ ที่คล้ายกัน
  • การเชื่อมต่อ SSH ของฉันทำงานได้ดี และฉันได้ตั้งค่าด้วย Debug ระดับ 3 ด้วย ดังนั้นมันจึงมีรายละเอียดมาก (ฉันมีบันทึกด้านล่าง)
  • ดูเหมือนว่าที่เก็บระยะไกลจะได้รับการตั้งค่าอย่างถูกต้อง (ฉันพยายามสร้างรีโมตเพิ่มเติมโดยชี้ไปที่ repo ที่ไม่มีอยู่บนเซิร์ฟเวอร์เดียวกัน โดยใช้การเชื่อมต่อ SSH เดียวกันและฉันได้รับข้อความแสดงข้อผิดพลาดที่เหมาะสมจาก GIT ว่าไม่พบ ซื้อคืน)
  • ฉันได้ตั้งค่า repo โดยมีและไม่มี --shared แต่ผลลัพธ์ก็เหมือนเดิม
  • ฉันรอไปแล้ว (มากกว่า 8 ชั่วโมง) และไม่มีอะไรเกิดขึ้น ไม่มีข้อความแสดงข้อผิดพลาด มันยังคงค้างอยู่
  • ฉันได้ลองใช้วิธีแก้ปัญหาอื่น ๆ ทุกวิธีที่หาได้ใน 2 วันในหัวข้อนี้ และฉันยังคงได้รับผลลัพธ์เดิม (แม้จะสร้าง repo ของฉันใหม่สองสามครั้ง ลองใช้ชื่ออื่น ลอง chmod 777 สำหรับทั้ง repo และไดเร็กทอรีการทำงานของฉันบนเซิร์ฟเวอร์ ฯลฯ .)

นี่คือส่วนหนึ่งของเอาต์พุต verbose ssh บน git push (หลังจากตรวจสอบคีย์ 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 [email protected]
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: network
debug3: receive packet: type 80
debug1: client_input_global_request: rtype [email protected] 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

หลังจากบรรทัดสุดท้ายนี้ มันก็จะค้างไปเรื่อย ๆ


person Antonio    schedule 20.10.2017    source แหล่งที่มา
comment
ดูคำถามนี้: stackoverflow.com /คำถาม/15843937/   -  person jmarks    schedule 05.12.2019


คำตอบ (1)


ปัญหาคือการอนุญาตโฟลเดอร์เป้าหมายที่ไม่ดี เมื่อฉันสร้างโฟลเดอร์เป้าหมาย ฉันใช้ "sudo" ดังนั้นเจ้าของจึงถูกตั้งค่าเป็นรูท เมื่อฉันเปลี่ยนเจ้าของโฟลเดอร์เป้าหมายเป็นผู้ใช้ของฉัน (คนที่เคยพุช repo) และกลุ่มเป็น www-data ทุกอย่างทำงานได้อย่างมีเสน่ห์

ดังนั้นฉันจึงได้เรียนรู้ว่าเมื่อ git ไม่สามารถย้ายไฟล์จาก repo ของคุณไปยังโฟลเดอร์เป้าหมายได้ เนื่องจากไม่มีการอนุญาตที่เหมาะสม จึงไม่แสดงรายงานข้อผิดพลาดใดๆ เพียงแต่รออย่างไม่มีกำหนด

person Antonio    schedule 06.12.2019