Git Remote: Error: fatal: protocol error: bad line length character: Unab


120

ฉันตั้งค่าเซิร์ฟเวอร์ git และตอนนี้ต้องการผลักดัน repo ของฉันจากไคลเอนต์ ฉันใช้git push origin masterและได้รับข้อความแสดงข้อผิดพลาดนี้:

fatal: protocol error: bad line length character: Unab

ไม่รู้มีอะไรผิดปกติ ผมไม่รู้ว่า "Unab" คืออะไร ฉันพยายามปรับขนาดเชลล์ แต่ยังเป็น "Unab" ฉันไม่พบวิธีแก้ไขสำหรับข้อความแสดงข้อผิดพลาดนี้

ฉันตั้งค่าเซิร์ฟเวอร์ด้วย "Authorized_keys" และ SSH (ฉันสามารถเชื่อมต่อได้โดยใช้ SSH)

ดูเหมือนว่าจะเป็นปัญหาเกี่ยวกับคอมไพล์?

BTW: เซิร์ฟเวอร์ถูกตั้งค่าใน Windows 7 VM


มีปัญหาที่คล้ายกันกับ "fatal: protocol error: bad line length character: This" ข้อความแสดงข้อผิดพลาดของฉันคือ "บัญชีนี้ไม่พร้อมใช้งานในขณะนี้"
hj '21

คำตอบ:


117

ข้อความแสดงข้อผิดพลาดนี้ค่อนข้างป้าน แต่สิ่งที่พยายามจะบอกคุณคือเซิร์ฟเวอร์ระยะไกลไม่ตอบกลับด้วยการตอบสนองคอมไพล์ที่เหมาะสม ท้ายที่สุดมีปัญหาในเซิร์ฟเวอร์ที่กำลังเรียกใช้git-receive-packกระบวนการนี้

ในโปรโตคอล Git สี่ไบต์แรกควรเป็นความยาวของบรรทัด แต่เป็นอักขระUnab... ซึ่งอาจเป็นจุดเริ่มต้นของข้อความแสดงข้อผิดพลาดบางอย่าง (กล่าวคืออาจเป็น " Unable to..." ทำอะไรบางอย่าง)

จะเกิดอะไรขึ้นเมื่อคุณเรียกใช้ssh <host> git-receive-pack <path-to-git-repository>? คุณควรเห็นข้อความแสดงข้อผิดพลาดว่าไคลเอนต์ git ของคุณกำลังเปิดใช้งานและคุณอาจสามารถแก้ไขได้


10
และssh <host> /bin/trueไม่ควรส่งออกอะไร
Stefan Näwe

9
ฉันมีปัญหาเดียวกันนี้และสาเหตุคือ "echo" .bashrc "'ใน. bashrc ของฉันดังนั้นแทนที่จะเป็น" fatal: protocol error: bad line length character: Unab "I was seen" fatal: protocol error: bad line length อักขระ: .bas ".
snarkyname77

4
ใช่นั่นเป็นปัญหาของฉันเช่นกัน: ของฉัน.bashrcที่เครื่องที่โฮสต์ที่เก็บ Git ที่ฉันพยายามดึงออกมามีสายที่สร้างเสียงสะท้อนไปยังเอาต์พุตมาตรฐาน (นั่นคือฉันเป็นเจ้าของพื้นที่เก็บข้อมูลบนเครื่องระยะไกลดังนั้นฉันจึง.bashrcทำให้เกิดปัญหา) ฉันใช้เคล็ดลับที่ผู้ใช้ ruslo ให้ในคำตอบอื่นคือการเปลี่ยนทิศทางผลลัพธ์ของคำสั่งนั้นจาก stdout ไปยัง stderr ( some_command 1>&2) หลังจากนั้นก็git pullทำงานอีกครั้ง
Teemu Leisti

2
ด้วยคำสั่งดังกล่าวผลลัพธ์จะแฮงค์ มันแสดงรายการสาขาทั้งหมดของฉันหนึ่งรายการต่อบรรทัดจากนั้นในบรรทัดสุดท้ายที่พิมพ์ฉันจะได้ผลลัพธ์0000 และเคอร์เซอร์ทันทีหลังจากนั้นราวกับว่าจะเขียนบรรทัดอื่นออกมา แต่จะไม่เสร็จสมบูรณ์
demongolem

3
ฉันเกลียดที่จะชนปัญหาเก่าเจ็ดปี แต่ฉันได้รับ 0000 ปัญหาเดียวกันกับ git-received-pack มันค้างอยู่ที่นั่นจนกว่าฉันจะกด return สี่ครั้งจากนั้นก็รายงานข้อผิดพลาดของโปรโตคอลเดียวกันและหยุดทำงาน
Mark

61

ฉันมีปัญหาที่คล้ายกัน แต่ข้อความแสดงข้อผิดพลาดที่แน่นอนคือ:

ร้ายแรง: ข้อผิดพลาดโปรโตคอล: อักขระความยาวบรรทัดไม่ถูกต้อง: Usin

สิ่งนี้อยู่ใน Windows โดยGIT_SSHตั้งค่าเป็นเส้นทางplink.exeของ PuTTY

ปัญหาและแนวทางแก้ไขที่เป็นไปได้:

  • ตรวจสอบให้แน่ใจว่าเส้นทางไปplink.exeถูกต้อง ตัวอย่างเช่นเส้นทางสไตล์ Unix ก็ใช้ได้เช่นกัน/c/work/tools/PuTTY/plink.exe
  • ตรวจสอบให้แน่ใจว่าตัวแทนหลักของ PuTTY ( pageant.exe) กำลังทำงานอยู่
  • ตรวจสอบให้แน่ใจว่าตัวแทนคีย์มีคีย์ที่ถูกต้องเพื่อเข้าถึงเซิร์ฟเวอร์

7
ฉันมีปัญหาเดียวกันใน Windows และกลายเป็นสาเหตุเดียวกันด้วยเหตุผลตรงกันข้าม ฉันพยายามใช้ Cygwin (และ Git SSH ในตัว) แต่ GIT_SSH ถูกตั้งค่าเป็น C: \ ... \ plink.exe ซึ่งทำให้เกิดความขัดแย้ง เมื่อฉันลบสิ่งนี้ทุกอย่างก็ใช้ได้ดี
Matt Holtzman

11
การลบรายการ GIT_SSH ออกจากตัวแปรสภาพแวดล้อมเป็นเคล็ดลับสำหรับฉัน
chamalabey

ข้อผิดพลาดที่คล้ายกันหลังจากอัปเกรด GitExt ต้องรีสตาร์ทเพจและนำเข้าไฟล์คีย์. pk อีกครั้ง
Bill Dolan

9
ฉันลืมโหลดคีย์ส่วนตัวในการประกวดสิ่งที่ลงท้ายด้วยfatal: protocol error: bad line length character: git@. เป็นข้อความแสดงข้อผิดพลาดที่ทำให้เข้าใจผิด
ลุดวิก

1
ในกรณีของฉัน (Windows 10) การประกวดไม่ทำงาน เมื่อฉันเริ่มต้นและเพิ่มคีย์ส่วนตัวลงไปสิ่งนี้ก็ใช้งานได้
26

30

สำหรับผู้ใช้ GitExtension:

ฉันประสบปัญหาเดียวกันหลังจากอัปเกรด git เป็น 2.19.0

สารละลาย:

เครื่องมือ> การตั้งค่า> ส่วนขยาย Git> SSH

เลือก [ OpenSSH ] แทน [ PuTTY ]

ใส่คำอธิบายภาพที่นี่


fatal: protocol error: bad line length character: git@ตรงนี้เป็นสิ่งที่ผมทำเมื่อคุณได้รับข้อผิดพลาด ตรวจสอบให้แน่ใจว่ากุญแจสำคัญ SSH จะถูกสร้างขึ้นและเพิ่มไปยังGitLab บางทีอาจจำเป็นต้องรีสตาร์ทGit Extensions
ทดสอบ

20

ฉันมีปัญหาเดียวกันหลังจากติดตั้ง GIT บน Windows ตอนแรกมันใช้งานได้ จากนั้นหนึ่งวันต่อมา (หลังจากรีบูตพีซี) มันไม่ได้อีกต่อไปและฉันได้รับสิ่งนี้:

$ git pull
fatal: protocol error: bad line length character: git@

ปัญหาคือหลังจากรีบูต Putty "pageant.exe" ที่เริ่มทำงานโดยอัตโนมัติจะไม่มีคีย์ส่วนตัวที่ใช้งานอยู่อีกต่อไป เมื่อคุณเพิ่มคีย์ในการประกวดจะไม่ใช่การตั้งค่าถาวรตามค่าเริ่มต้น ฉันต้องเพิ่มคีย์อีกครั้งและมันก็ใช้ได้ดี ดังนั้นในกรณีนั้นจำเป็นต้องทำให้ pagenant โหลดคีย์โดยอัตโนมัติตามที่กล่าวไว้ที่นี่:

https://www.digitalocean.com/community/tutorials/how-to-use-pageant-to-streamline-ssh-key-authentication-with-putty


สำหรับฉันสถานการณ์คือใน Visual studio ฉันพบข้อผิดพลาด: "Git ล้มเหลวด้วยข้อผิดพลาดร้ายแรง protocol error: bad line length character: gitu" ทุกครั้งที่รีสตาร์ท Windows กระบวนการประกวดไม่ได้เริ่มต้นเลย ฉันจำเป็นต้องใช้เช่น TortoiseGit ที่แก้ไขปัญหานี้บนพื้นหลังจากนั้น GIT ก็ทำงานใน Visual studio อย่างมีเสน่ห์
Honza P.

18

บางทีคุณอาจมีคำสั่งใน. bashrc ของเซิร์ฟเวอร์ที่สร้างเอาต์พุต ตัวอย่างเช่นฉันมีสิ่งนี้:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
rvm use ruby-1.9.3-p194@rails32

ในกรณีนี้ผลลัพธ์จากการใช้ rvm จะถูกตีความ (ผิด) ว่ามาจาก git ดังนั้นแทนที่โดย:

rvm use ruby-1.9.3-p194@rails32 > /dev/null

ในกรณี (windows 10) ของฉันปัญหาคือผลลัพธ์ของคำสั่งที่เกี่ยวข้องกับนักเทียบท่าที่สคริปต์ init.cmd เริ่มต้น cmd ของฉัน (ซึ่งฉันสร้างโดยคำแนะนำเหล่านั้น: stackoverflow.com/questions/17404165/…) แต่เป็นหลักการเดียวกัน ขอบคุณ!
ET-CS

นี่เป็นกรณีของฉัน ฉันมีคำสั่ง 'แบนเนอร์' ใน. bashrc ของฉัน การแสดงความคิดเห็นช่วยแก้ปัญหาได้ ขอบคุณ :).
jamie


10

คุณสามารถเปลี่ยนเส้นทางเอาต์พุตจาก.bashrcไปยังstderr:

# inside .bashrc
echo 'some error/warning/remind message' 1>&2

git จะไม่สนใจสัญลักษณ์นี้


ที่ทำเพื่อฉัน ผมมีคำสั่งrvm use 2.0.0-p353ในของฉันซึ่งจะต้องมีการสับสน.bashrc git pullหลังจากต่อท้าย1>&2แล้วลองอีกครั้งใช้git pullงานได้ดี
Teemu Leisti

7

ฉันมีปัญหาคล้ายกันใน Windows โดยใช้ Git Bash ฉันยังคงได้รับข้อผิดพลาดนี้เมื่อพยายามทำ git clone ที่เก็บอยู่บนกล่อง Linux ที่ติดตั้ง GitLab

git clone git@servername:path/to/repo
fatal: protocol error: bad line length character: git@

ฉันตรวจสอบให้แน่ใจว่าสร้างคีย์ ssh แล้ว คีย์สาธารณะถูกเพิ่มใน GitLab ssh-agent กำลังรันและคีย์ที่สร้างขึ้นถูกเพิ่ม ( ลิงก์ github )

ฉันหมดทางเลือกแล้วในที่สุดก็ลองปิด Git Bash แล้วเปิดอีกครั้งโดยคลิกขวาที่ 'Run as Administrator' ทำงานหลังจากนั้น


ฉันเห็นสิ่งเดียวกัน (Windows 10 64 บิต) แต่การทำงานในฐานะผู้ดูแลระบบไม่สามารถแก้ไขได้
Ed Avis

4
ฉันมีลางสังหรณ์เกี่ยวกับสาเหตุนี้ หากคุณไม่ได้ตั้งค่า ssh keypair (หรือไม่สามารถอ่านได้ด้วยเหตุผลบางประการ) ssh จะแจ้งให้ป้อนรหัสผ่าน ใน Windows ไม่มีความแตกต่างที่ชัดเจนระหว่างเอาต์พุตมาตรฐานและเอาต์พุตคอนโซลดังนั้นรหัสผ่านจึงไปที่ stdout: "git @ อะไรก็ตามของรหัสผ่าน:" สิ่งนี้ถูกมองโดย git ว่าเป็นเอาต์พุตโปรโตคอลที่เสียหาย
Ed Avis

@EdAvis ขอบคุณ! ฉันมีปัญหาเดียวกันและหลังจากอ่านความคิดเห็นของคุณฉันตรวจสอบตัวแทนคีย์ของฉันอีกครั้ง (ซึ่งโดยปกติจะทำงานเมื่อเริ่มต้นบนเครื่องของฉัน) ปรากฎว่ามันไม่ทำงานด้วยเหตุผลบางประการ ...
Griddo

5

สำหรับฉันมันเป็นเพราะฉันเพิ่งเพิ่ม

RequestTTY force

เป็น. ssh / config

การแสดงความคิดเห็นนี้ทำให้สามารถใช้งานได้


และในกรณีของฉันฉันได้เพิ่มการกำหนดค่าLocalCommandเพื่อสะท้อนบางสิ่ง
ภูเงิน

5

สิ่งนี้อาจช่วยใครบางคนได้ เมื่อฉันพยายามโคลนโครงการจากอินสแตนซ์ EC2 ฉันได้รับข้อผิดพลาดด้านล่าง:

Cloning into 'repo1'...
fatal: protocol error: bad line length character: logi

ความละเอียดสำหรับฉันมีขั้นตอนด้านล่าง:

  1. ตรวจสอบให้แน่ใจว่ามีการเพิ่ม / อัปเดตคีย์ SSH (สาธารณะ) ในอินสแตนซ์ EC2
  2. ตรวจสอบให้แน่ใจว่าตัวแทนการพิสูจน์ตัวตน (ในกรณีของฉันคือ Pageant = Putty Authentication Agent) กำลังรันและคีย์ส่วนตัวที่เกี่ยวข้องจะถูกโหลด
  3. ใช้รหัสคีย์ EC2 SSH สำหรับคีย์สาธารณะสำหรับ git clone ตัวอย่าง:

    git clone ssh: // {SSH Key ID}@someaccount.amazonaws.com/v1/repos/repo1


4
หมายเหตุ: นี่เป็นเพราะคุณกำลังใช้ plink และถ้าคุณทำplink <server_name> lsสิ่งแรกที่ plink จะพิมพ์เป็น stdout คือlogin asgit ที่ดูเหมือนจะพยายามตีความว่าเป็นสิ่งที่สำคัญ การแก้ไขอย่างรวดเร็วก็คือการและunset GIT_SSH unset SVN_SSHข้อมูลเพิ่มเติมที่นี่
Pod

@Pod คุณพูดถูกบน windows คำสั่งเหล่านี้ควรช่วย: set GIT_SSH=และset SVN_SSH=
Maksim Kostromin

ฉันมีปัญหาเดียวกันกับ TFS หลังจากเพิ่มรหัสคีย์ทุกอย่างทำงานได้ดีขอบคุณ!
Andre Hofmeister

3

ตรวจสอบไฟล์เริ่มต้นของคุณในบัญชีที่ใช้เชื่อมต่อกับเครื่องระยะไกลเพื่อหาคำสั่ง "echo" สำหรับ Bash shell สิ่งเหล่านี้จะเป็น. bashrc และ. bash_profile เป็นต้น Edward Thomson ตอบถูก แต่ปัญหาเฉพาะที่ฉันพบคือเมื่อมีงานพิมพ์ Boiler-plate เมื่อล็อกอินเข้าสู่เซิร์ฟเวอร์ผ่าน ssh Git จะได้รับสี่ไบต์แรกของแผ่นหม้อไอน้ำนั้นและเพิ่มข้อผิดพลาดนี้ ตอนนี้ในกรณีเฉพาะนี้ฉันจะเดาว่า "Unab" เป็นงาน "Unable ... " ซึ่งอาจบ่งชี้ว่ามีบางอย่างผิดปกติในโฮสต์ Git


3

ในกรณีของฉันหลังจากดึงมันถูกเขียน: fatal: protocol error: bad line length character: Pass. นอกจากนี้หลังจากการผลักดันฉันได้รับ: fatal: protocol error: bad line length character: git@ Done.

หลังจากรีบูต Windows ฉันต้องเริ่ม "PuTTY agent" (pageant.exe) อีกครั้งและเพิ่มคีย์ส่วนตัวที่หายไปจากรายการคีย์


2

FYI ฉันได้รับข้อความแสดงข้อผิดพลาดเดียวกันนี้หลังจากที่ฉันอัปเกรดคอนเทนเนอร์ CentOS6 เป็น CentOS7 - การทำงานของคอมไพล์บางอย่างเริ่มล้มเหลวเมื่อสร้างคอนเทนเนอร์เช่น

# git remote show origin
fatal: protocol error: bad line length character: Inva

การเรียกใช้ ssh ทำให้ฉันมีข้อผิดพลาดที่ฉันสามารถค้นหาได้:

# ssh git@bitbucket.org
Invalid clock_id for clock_gettime: 7

นั่นทำให้ฉันไปที่https://github.com/wolfcw/libfaketime/issues/63ซึ่งฉันรู้ว่าฉันลืมไปแล้วว่าฉันมีLD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1Dockerfile ในพาเรนต์ การแสดงความคิดเห็นนั้นแก้ไขข้อผิดพลาด


2

ในกรณีของฉันปัญหาคือสีโป๊ว 32 บิตและ pageant.exe - มันไม่สามารถสื่อสารกับ TortoisePlink.exe 64 บิตได้ การเปลี่ยนสีโป๊ว 32 บิตเป็นเวอร์ชัน 64 บิตช่วยแก้ปัญหาได้


2

ฉันมีข้อผิดพลาดเดียวกัน"fatal: protocol error: bad line length character: shmi" โดยที่shmiชื่อผู้ใช้อยู่ในกรณีของฉัน ผมเปลี่ยน SSH จากฉาบเพื่อ OpenSSH "Git Extensions->Settings->SSH"ใน มันช่วยได้


1

ฉันมีปัญหาเดียวกับ Christer Fernstrom ในกรณีของฉันมันเป็นข้อความที่ฉันใส่ใน. bashrc ของฉันที่เตือนให้ฉันทำการสำรองข้อมูลเมื่อฉันไม่ได้ทำในสองสามวัน


1

สิ่งต่อไปนี้อาจช่วยใครบางคนได้: เมื่อพยายามโคลนโครงการที่ฉันมีในอินสแตนซ์ AWS EC2 ฉันได้รับข้อผิดพลาดต่อไปนี้:

Cloning into 'AWSbareRepo'...
fatal: protocol error: bad line length character: Plea

สิ่งนี้เกิดจากการพยายาม ssh เป็น root แทน EC2-USER หากคุณใช้ ssh โดยไม่ต้องทำ git clone ... คุณจะเห็นข้อความแสดงข้อผิดพลาดในบางสิ่งตามบรรทัด "Please login with ec2-user" เมื่อฉันทำ git clone ในฐานะผู้ใช้ ec2 ก็ดี


1

ฉันยังพบข้อผิดพลาดนั้นเป็นครั้งคราว แต่เมื่อเป็นเช่นนั้นหมายความว่าสาขาของฉันไม่ทันสมัยดังนั้นฉันจึงต้องทำ git pull origin <current_branch>


1

Git ไม่แจ้งให้ใส่รหัสผ่านและล้มเหลวด้วยข้อความที่เป็นความลับที่คล้ายกัน "fatal: protocol error: bad line length character: user" หากคุณไม่มีการตั้งค่าการตรวจสอบสิทธิ์คีย์ส่วนตัวด้วย

https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-serverจะบอกวิธีระบุคีย์สาธารณะบนเซิร์ฟเวอร์ โดยทั่วไปให้เพิ่มคีย์สาธารณะลงใน ~ / .ssh / Authorized_keys หรือ ~ / .ssh / Authorized_keys2

ฉันต้องดิ้นรนเล็กน้อยในการจัดหาคีย์ส่วนตัวให้กับ Git Bash บนเครื่อง windows คำตอบของ Dan McClain ใน/server/194567/how-do-i-tell-git-for-windows-where-to-find-my-private-rsa-key/382801#382801อธิบายสิ่งนั้น อีกหนึ่งคำตอบของเขาในกรณีของฉันไฟล์คีย์ส่วนตัวคาดว่าจะชื่อ id_rsa.pub


1

สำหรับฉันการเพิ่มรายละเอียดโฮสต์เดียวกันลงใน Putty ด้วยคีย์ส่วนตัว (แปลงด้วยผงสำหรับอุดรู) ใช้งานได้ คำสั่ง git bash ใด ๆ หลังจากนั้นก็ไม่มีปัญหา


1

หากคุณใช้สีโป๊ว จากนั้นตรวจสอบให้แน่ใจว่า Pageant ทำงานอยู่และคีย์ส่วนตัวของคุณถูกโหลดใน Pageant (คลิกขวาที่ไอคอน Pageant บนแถบงานแล้วคลิก "ปุ่มดู" ในเมนูที่ปรากฏขึ้น)

มิฉะนั้นเมื่อคุณทำใน cmd.exe:

git clone ssh://name@host:/path/to/git/repo.git

คุณได้รับข้อความนี้ "fatal: protocol error: bad line length character:"


1

TL; DR: Do ไม่ละเว้นusername@ใน URL ที่ระยะไกลของคุณเมื่อบน Windows

บน Linux และบน Windows ที่มี ssh เริ่มต้นคุณสามารถละเว้นชื่อผู้ใช้จาก URL ระยะไกลได้ดังนี้:

git clone server-name:/srv/git/repo-name

เนื่องจากพฤติกรรมเริ่มต้นของ ssh คือการใช้ชื่อผู้ใช้ที่คุณลงชื่อเข้าใช้อยู่ หากคุณใช้ Windows และได้ตั้งค่าคอมไพล์เพื่อใช้plink.exeเพื่อให้คุณสามารถใช้คีย์ที่โหลดไว้ในของคุณpageantสิ่งนี้จะไม่ทำงานเนื่องจากplinkไม่มีลักษณะการทำงานของชื่อผู้ใช้อัตโนมัติแบบเดียวกันนี้ส่งผลให้เกิดข้อความแสดงข้อผิดพลาดที่เป็นความลับเหล่านั้นเนื่องจากจะ แจ้งชื่อผู้ใช้:

$ plink server-name
login as: _

เมื่อเทียบกับ:

$ plink username@server-name
...logs you in...

หากคุณโคลนที่เก็บไว้แล้วคุณสามารถแก้ไขรีโมตในรีโมตของคุณได้.git/configโดยการเพิ่มusername@ลงในรีโมต URL


การเพิ่มชื่อผู้ใช้ในระยะไกลโดยgit remote set-url origin myusername@...ช่วยฉัน
Maxim Suslov

0

ตรวจสอบว่าอนุญาตให้เข้าถึงเชลล์บนเซิร์ฟเวอร์หรือไม่


ของฉันคือ "สวัสดี g" ปรากฎว่าฉันติดตามเว็บไซต์การตั้งค่าความปลอดภัยและตอนนี้การเข้าสู่ระบบคอมไพล์ของฉันแจ้งว่า "สวัสดีคุณตรวจสอบสิทธิ์สำเร็จแล้ว แต่ฉันไม่ได้ให้การเข้าถึงเชลล์แบบโต้ตอบ" เดาไม่ถูกต้องลบมันออก ....
อย่าสว่าง

0

ข้อผิดพลาดถูกแปลงใน: fatal: protocol error: bad line length character: fata

หลังจากเพิ่มตำแหน่งของ git-upload-pack ในเส้นทางระบบ

ปัญหาดูเหมือนจะเป็นเครื่องหมายวรรคตอนที่เพิ่มรอบ ๆ ชื่อที่เก็บ: การค้นหาด้วยเครื่องมือเช่น Process Monitor (จาก sys internalals) ที่เพิ่มโดยไคลเอ็นต์ git ดูเหมือนว่าจะเป็นปัญหาเกี่ยวกับ windows เฉพาะของคอมไพล์

ฉันลองใช้บรรทัดคำสั่งเดียวกันในพรอมต์ของเซิร์ฟเวอร์: ข้อผิดพลาดทั้งหมดคือ "fatal: not a given repository (or any of the parent directory): .git"

สรุปแล้วสำหรับฉันดูเหมือนว่าเป็นข้อบกพร่องของซอฟต์แวร์ โปรดทราบว่าฉันไม่ใช่ผู้เชี่ยวชาญด้านคอมไพล์นี่เป็นครั้งแรกที่ฉันใช้คอมไพล์ฉันมาจากการโค่นล้มและการบังคับ


0

เราเจอเรื่องนี้เช่นกัน

Counting objects: 85, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (38/38), done.
Writing objects: 100% (38/38), 3.38 KiB | 0 bytes/s, done.
Total 38 (delta 33), reused 0 (delta 0)
Auto packing the repository for optimum performance.
fatal: protocol error: bad line length character: Remo
error: error in sideband demultiplexer

ฉันไม่รู้รายละเอียดเกี่ยวกับสิ่งที่ผิดพลาด แต่ในกรณีของเราสิ่งที่ทำให้เกิดขึ้นคือดิสก์บนเซิร์ฟเวอร์เต็ม


0

อาจเป็นการเข้าถึงความปลอดภัยบนเครื่องของคุณคุณกำลังเรียกใช้ Pageant (ซึ่งเป็นตัวแทนฉาบ) หรือไม่?


0

คุณสามารถมีลิงค์ http ไปยังโครงการคอมไพล์ของคุณได้ตลอดเวลา คุณสามารถใช้แทนลิงก์ ssh นี่เป็นเพียงตัวเลือกที่คุณมี


0

ฉันมีปัญหาเดียวกันนี้ (Windows 7) พยายามรับ repo ด้วยรหัสผ่าน ฉันใช้ Git Bash + Plink (ตัวแปรสภาพแวดล้อม GIT_SSH) + Pageant การลบ GIT_SSH (ชั่วคราว) ช่วยฉันได้ ไม่รู้ทำไมใช้ login by pass และ login ด้วย RSA ไม่ได้ในเวลาเดียวกัน ...


0

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

สารละลาย

  1. สร้างคีย์ใหม่และเพิ่ม git repo ของคุณหรือกำหนดค่า ssh agent ของคุณเพื่อโหลดคีย์หากคุณยังมีคีย์อยู่กับคุณ & ไม่ได้อยู่กับคนอื่น;)

  2. การแก้ไขด่วนอีกประการหนึ่งคือไปที่.gitไดเร็กทอรีของคุณและแก้ไขconfigไฟล์[remote "origin"] urlจากgitถึงhttpเพื่อไม่ต้องกดคีย์ ssh และมันจะย้อนกลับไปถามชื่อผู้ใช้และรหัสผ่านของคุณ

    [remote "origin"]
    url = git@gitlab.*****.com:****/****.git
    fetch = +refs/heads/*:refs/remotes/origin/*
    

เปลี่ยนไป

    [remote "origin"]
    url = http://gitlab.*****.com/****/****.git
    fetch = +refs/heads/*:refs/remotes/origin/*

0

การเปลี่ยน ssh exectuable จาก builtin เป็น nativ ภายใต้การตั้งค่า / การควบคุมเวอร์ชัน / git เป็นเคล็ดลับสำหรับฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.