Git Clone - ไม่พบที่เก็บ


97
git clone <url>

ทำให้ข้อความถึงแก่ชีวิต: ไม่พบที่เก็บ 'url'

ฉันลองใช้ตัวเลือกในลิงค์แต่ไม่ได้ผล


แน่นอน url ของคุณต้องไม่ถูกต้อง ..
g-newa

2
เป็น repo ส่วนตัวหรือสาธารณะ? - หากเป็นเช่นนั้นให้ลองใช้ที่อยู่ HTTPS แทน GIT (ฉันหวังว่าคุณจะไม่ทำในสิ่งที่ @JohnZwinck กล่าว ... )
appostolis

หาก repo เป็นสาธารณะคุณสามารถแก้ไขคำถามเพื่อเพิ่ม url ที่เกี่ยวข้องได้หรือไม่
jub0bs

สวัสดี Jubos เป็น repo ส่วนตัวและฉันมีสิทธิ์เข้าถึง repo นั้น
สูงสุด

22
ฉันเผชิญกับสถานการณ์ที่คล้ายกัน URL ที่ฉันใช้สำหรับที่เก็บส่วนตัวของฉันถูกต้อง แต่ฉันได้รับข้อผิดพลาดเดียวกัน หลังจากขุดมากฉันพบว่าในพวงกุญแจ (ฉันใช้ Mac Yosemite) รายการสำหรับ github.com มีรหัสผ่านเก่าสำหรับ github ฉันลบรายการออกจากพวงกุญแจจากนั้นฉันก็รันคำสั่ง git clone มันถามชื่อผู้ใช้ / รหัสผ่าน github ของฉันและวอลล์โคลนก็ใช้งานได้!
Shirish Kumar

คำตอบ:


27

อาจเป็นไปได้ว่า URL ของคุณไม่ถูกต้อง

หากเป็น URL http / https คุณสามารถตรวจสอบได้อย่างรวดเร็วโดยการตอก URL ลงในเบราว์เซอร์ หากไม่แสดงอะไรเลยแสดงว่า URL ไม่ถูกต้อง

ฉันคิดว่าคุณกำลังพูดถึงที่เก็บระยะไกล URL ควรมีลักษณะดังนี้:

https://github.com/user/repo2.git if you're using HTTPS
git@github.com:user/repo2.git if you're using SSH

มันแสดงอย่างถูกต้องบนเบราว์เซอร์ แต่ไม่ทำงานเมื่อฉันใช้โคลน
Chandni

309

ดังที่ผู้อื่นกล่าวไว้ข้อผิดพลาดอาจเกิดขึ้นหาก url ไม่ถูกต้อง

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

แทน

git clone https://github.com/NAME/repo.git

ลอง

git clone https://username:password@github.com/NAME/repo.git


คุณยังสามารถใช้

git clone https://username@github.com/NAME/repo.git

และคอมไพล์จะแจ้งให้ใส่รหัสผ่าน (ขอบคุณลีนน์ที่ให้คำใบ้นี้ในความคิดเห็น)


2
ขอบคุณ - นั่นเป็นประโยชน์ ฉันพบปัญหานี้ในระบบเดียวของฉัน แต่ไม่สามารถหาสาเหตุได้ การใช้วิธีที่ 2 ได้ผล แต่ฉันอยากรู้ว่าทำไมต้องใช้วิธีนี้ต่อไป? อะไรจะทำให้เกิดปัญหากับคำสั่งแรก แต่ไม่ใช่กับคำสั่งที่สอง?
Levon

4
บน Mac OS X คุณสามารถจัดเก็บชื่อผู้ใช้และรหัสผ่านในพวงกุญแจ (เช่น GitHub) จากนั้นคุณไม่ต้องการคำสั่งที่สอง หากคุณไม่มีสิ่งนี้คุณต้องมีคำสั่งที่สอง
Christian Fries

3
@CCJ ใช่: คุณสามารถใส่ทุกอย่างในคำสั่งยกเว้น:passwordและคอมไพล์จะแจ้งให้สำหรับรหัสผ่าน ตัวอย่างเช่น:git clone https://username@github.com/NAME/repo.git
leanne

1
@ChristianFries จะดีมากถ้าคุณสามารถอัปเดตคำตอบของคุณเพื่อรวมตัวเลือกที่ไม่สามารถมองเห็นรหัสผ่านในความคิดเห็นของ Leanne สำหรับผู้อ่านในอนาคต
John Pavek

1
@JohnPavek: เสร็จแล้ว
Christian Fries

44

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

เพื่ออัปเดตข้อมูลรับรองที่เก็บไว้ใน OS X Keychain

ทำตามคำแนะนำที่:

https://help.github.com/articles/updating-credentials-from-the-osx-keychain/

หากคุณต้องการตรวจสอบว่านี่เป็นปัญหาคุณสามารถเรียกใช้การโคลนด้วยการติดตาม

$ GIT_CURL_VERBOSE=1 git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY

มองหาบรรทัดส่วนหัว "Authorization: Basic BASE64STRING"
ใช้สตริง base64 และถอดรหัสเพื่อตรวจสอบว่าใช้ชื่อผู้ใช้: รหัสผ่านใด

$ echo <the key> | base64 --decode

ตรวจสอบว่าเป็นรหัสผ่านชื่อผู้ใช้ที่ถูกต้องที่คุณคาดว่าจะใช้


ฉันลองทำเช่นนี้และให้ชื่อผู้ใช้ / รหัสผ่านสำหรับบัญชีอื่นของฉัน ฉันเดาว่าฉันต้องระบุชื่อผู้ใช้ ...
Nicolas Miari

GIT_CURL_VERBOSE = 1 นี้มีประโยชน์อย่างมาก - ขอบคุณ!
mistertee

หากคุณพบว่าชื่อผู้ใช้ / รหัสผ่านของคุณไม่ถูกต้องจะทำให้ git ใช้อีกอันได้อย่างไร
toancaro

พวงกุญแจ macos สามารถจัดเก็บการเข้าสู่ระบบ github ได้หลายรายการ หากคุณต้องการระบุว่าusername@เป็น github url ตัวอย่าง: https://username@github.com/foo/bar.gitจากนั้น macos keychain จะใช้รหัสผ่านเข้าสู่ระบบที่ถูกต้อง
wisbucky

21

ฉันก็มีปัญหาเดียวกัน ฉันพยายามโคลน repo ซึ่งเป็นส่วนตัวและ git ของฉันที่ติดตั้งใน osx มีพวงกุญแจซึ่งไม่อนุญาตให้ฉันโคลน repo ...

ฉันเหนื่อย

git clone https://username:password@github.com/NAME/repo.git 

แต่มันใช้ไม่ได้เนื่องจากรหัสผ่านของฉันมีฟิลด์ @

ฉันเพิ่งวิ่ง

git credential-osxkeychain erase
host=github.com
protocol=https

คำสั่งและกด Enter และทำงานได้ดีอย่างสมบูรณ์ จริงๆแล้วคุณต้องเอาพวงกุญแจที่เก็บไว้ใน osx ออก


20

ฉันมีปัญหาเดียวกัน ( Repository not found) เนื่องจากตอนแรกฉันเข้าสู่ระบบด้วยบัญชี GitHub ที่ไม่ถูกต้อง วิธีแก้ไข:

  1. เปิดแผงควบคุมจากเมนูเริ่ม
  2. เลือกบัญชีผู้ใช้
  3. เลือก "จัดการข้อมูลรับรองของคุณ" ในเมนูด้านซ้ายมือ
  4. ลบข้อมูลรับรองที่เกี่ยวข้องกับ Git หรือ GitHub

1
สิ่งนี้ช่วยแก้ปัญหาให้ฉันได้ ฉันมีบัญชี github หลายบัญชีดังนั้นใน Windows บางครั้งข้อมูลรับรอง git จะถูกแคชไว้สำหรับบัญชีอื่นภายในตัวจัดการข้อมูลประจำตัวของ windows การล้างบัญชีที่แคชออกไปทำให้สามารถแก้ไขปัญหานี้ได้
Grizzly Peak Software

บัญชีที่ไม่ถูกต้องนี้ (แคชหนึ่ง) อาจไม่มีสิทธิ์ดูที่เก็บดังนั้น Github / Gitlab จึงส่งคืนข้อผิดพลาด 404 Not Found
mrdaliri

404 แทนข้อผิดพลาดที่ไม่ได้รับอนุญาต ข้อความแสดงข้อผิดพลาดนี้ทำให้เข้าใจผิด ขอบคุณสำหรับความช่วยเหลือของคุณ. มันได้ผลสำหรับฉันด้วย :)
Diallo

19

สำหรับฉัน

git clone https://username@github.com/name/repo.git

ทำงาน.

ฉันคิดว่าสิ่งนี้เกิดขึ้นเป็นหลักเนื่องจากไม่สามารถเข้าถึง repo ส่วนตัวได้โดยตรง


18

สิ่งที่ช่วยแก้ปัญหาของฉันเนื่องจากฉันมีข้อผิดพลาด "redirect / sign_in URL" หรือ "repository not found"

ผู้ใช้ MacOS:

  1. เปิดสปอตไลท์ (Command Space)
  2. พิมพ์พวงกุญแจ (Open keychain access.app)
  3. ค้นหาโดเมน repo (GitHub, GitLab ฯลฯ )
  4. ลบคีย์ทั้งหมดที่เกี่ยวข้องกับโดเมนนี้
  5. พยายามโคลนอีกครั้ง (ด้วยข้อมูลรับรองที่ถูกต้อง)

ผู้ใช้ Windows ควรลองทำตามขั้นตอนที่คล้ายกัน แต่ Keychain จะเป็น Credentials Manager ของ Microsoft แทนหรือ Windows Credentials ขึ้นอยู่กับเวอร์ชันระบบปฏิบัติการของคุณ ตรวจสอบให้แน่ใจว่าได้ล้างข้อมูลรับรองทั้งเว็บและหน้าต่างหากเป็นเช่นนั้น


สิ่งนี้อาจช่วยแก้ไขปัญหาของฉันได้ไม่แน่ใจทั้งหมดเนื่องจากดูเหมือนว่าจะไม่มีผลในตอนแรก แต่หลังจากนั้นโดยไม่ได้ทำการเปลี่ยนแปลงอื่น ๆ ทั้งหมดก็เริ่มทำงานอีกครั้ง
patrick.elmquist

หากคุณมีพวงกุญแจสองตัวขึ้นไปที่มีชื่อ gitlab และคุณไม่สามารถลบทั้งหมดได้ในคราวเดียวให้ลองลบทีละรายการ (ลบทีละรายการและปิดส่วนพวงกุญแจและทำซ้ำสำหรับอันถัดไป)
Jitendra

คำตอบที่ดีที่สุดสำหรับฉัน ฉันแก้ไขโดยใช้ขั้นตอนนี้ขอบคุณ
Hardik Joshi

15

หากคุณใช้ Windows พื้นที่เก็บข้อมูลจะเป็นแบบส่วนตัวและมีการบันทึกข้อมูลรับรองที่แตกต่างกันหรือไม่ถูกต้องอีกต่อไปคุณจะไม่สามารถเข้าถึงที่เก็บได้ คุณจะได้รับข้อผิดพลาดที่ไม่พบโดยไม่มีการบอกใบ้ทิศทางล้มเหลวข้อมูลรับรอง ในการรีเซ็ตข้อมูลรับรองบน ​​Windows ให้เปิดแผงควบคุม (ตัวควบคุม Win + r) เลือกบัญชีผู้ใช้และตัวจัดการข้อมูลรับรอง ค้นหาบัญชี git ในข้อมูลประจำตัวของ Windows (ไม่ใช่ข้อมูลรับรองเว็บ!) และลบรายการนี้

หลังจากนั้นการโคลนจะปรากฏขึ้นในกล่องโต้ตอบการเข้าสู่ระบบและคุณจะสามารถตั้งค่าได้อีกครั้ง

ทดสอบสิ่งนี้ด้วย git-bash เป็นเชลล์ใน VSCode


เยี่ยมมากช่วยชีวิตฉันไว้
khan Farman

ตำนานช่วยชีวิตฉัน
eli chen

9

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


1
นี่คือปัญหาของฉัน หากคุณมีระดับที่ถูกต้องคุณจะเห็นClone or Downloadปุ่มบนหน้า github สำหรับ URL ถ้าไม่มีแสดงว่าไม่สามารถโคลนได้
Stephen Hosking

9

หากคุณใช้การอนุญาตสองปัจจัย (2FA) สำหรับบัญชี Github ของคุณให้ใช้ตัวเลือก SSH สำหรับการโคลนที่เก็บของคุณ:

ป้อนคำอธิบายภาพที่นี่



4

สิ่งนี้เกิดขึ้นเนื่องจากสถานะเซสชันเก่าของฉันของผู้ใช้รายอื่นยังคงอยู่ด้านล่างนี้เป็นวิธีแก้ปัญหาอย่างรวดเร็วสำหรับผู้ใช้ Windows

เปิดแผงควบคุมจากเมนูเริ่มเลือกบัญชีผู้ใช้เลือก "จัดการข้อมูลรับรองของคุณ" ในเมนูด้านซ้ายลบข้อมูลรับรองที่เกี่ยวข้องกับ Git หรือ GitHub

เมื่อฉันทำสิ่งนี้มันก็เริ่มได้ผลสำหรับฉัน


4

ปัญหานี้เริ่มผิวใน terminal หลังจากที่ฉันเปิดใช้งาน GitHub 2FA

ตอนนี้ฉันประสบปัญหานี้เมื่อใดก็ตามที่ฉันโคลนที่เก็บส่วนตัว ข้อผิดพลาดนี้:

ระยะไกล: ไม่พบที่เก็บ
ร้ายแรง: ไม่พบที่เก็บ ' https://github.com/kmario23/repo-name.git/ '

มันอึดอัดมาก แน่นอนฉันมี repo นี้และฉันเป็นเจ้าของมัน

อย่างไรก็ตามดูเหมือนว่าการแก้ไขคือตอนนี้เราต้องเข้าสู่ GitHub usernameอีกครั้งเมื่อโคลน repo ส่วนตัว ด้านล่างนี้คือตัวอย่าง:

                             add your username
                                |-------|
$ git clone --recursive https://kmario23@github.com/kmario23/repo-name.git

2
แก้ไขปัญหาของฉัน
ขอบคุณ

2

สำหรับฉันมันใช้งานได้โดยการลบcredential.helperconfig และโคลนที่เก็บอีกครั้ง

git config --global --unset credential.helper
git clone https://<repository>

1
สิ่งนี้ทำให้ฉันรู้สึก
แย่


0

หากคุณใช้ cygwin สำหรับ git และพยายามโคลนที่เก็บ git จากไดรฟ์เครือข่ายคุณต้องเพิ่มเส้นทาง cygdrive

ตัวอย่างเช่นหากคุณกำลังโคลน git repo จาก z: /

$ git clone /cygdrive/z/[repo].git


0

ปัญหาการรับรองความถูกต้อง: ฉันใช้เครื่องมือ TortoiseGit GUI ฉันต้องบอกชื่อผู้ใช้และรหัสผ่านของเต่าเพื่อให้สามารถเข้าถึงเพื่อทำงานกับฐานรหัส Git / GitHub / Gitlab หากต้องการบอกให้คลิก rt ในโฟลเดอร์ใดก็ได้เพื่อรับเมนู TortoiseGit ที่นี่ TortoseGit> หน้าต่างการตั้งค่า> เลือกข้อมูลประจำตัวในแผนผังการนำทางด้านซ้ายป้อน URL: Git url Helper: เลือกหน้าต่างหากข้อมูลประจำตัวของ windows ของคุณเหมือนกับชื่อสำหรับ Git หรือ 'manager' หากเป็นชื่อผู้ใช้ที่แตกต่างกัน ชื่อผู้ใช้ Git บันทึกการตั้งค่านี้และลองอีกครั้ง คุณจะได้รับแจ้งให้ใส่รหัสผ่านจากนั้นก็ใช้งานได้


0

ฉันเป็นวิศวกรพัฒนาและสิ่งนี้เกิดขึ้นกับที่เก็บส่วนตัว เนื่องจากฉันจัดการองค์กร Github หลายแห่งฉันจึงมีคีย์ SSH ที่แตกต่างกันเล็กน้อย เพื่อเอาชนะERROR: Repository not found. fatal: Could not read from remote repository.ข้อผิดพลาดนี้คุณสามารถใช้

export GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no -o User=git -i ~/.ssh/ssh_key_for_repo"

git clone git@github.com:user/repo.git

0

เป็นไปได้ว่าคุณเข้าสู่ระบบในบัญชีอื่นและบัญชีนั้นไม่มีสิทธิ์เข้าถึง repo นี้หากคุณใช้ mac os ให้ไปที่ Keychain Access ค้นหา gitlab.com แล้วลบออกแล้วลอง git clone อีกครั้ง


0

ในกรณีของฉัน ที่เก็บเป็นส่วนตัวฉันไม่สามารถเข้าถึงได้โดยตรง ในการใช้แอป Github Desktop เพื่อดึงข้อมูล repo นี้


0

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


0

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

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


0

สำหรับฉันปัญหาเกิดขึ้นเนื่องจากฉันมีการตั้งค่าชื่อผู้ใช้ / รหัสผ่านเก่าที่บันทึกไว้สำหรับ gitlab ดังนั้นฉันจึงจำเป็นต้องลบข้อมูลรับรองเหล่านั้นออก ฉันเรียกใช้คำสั่งต่อไปนี้บน Mac ของฉัน:

sudo su
git config --system --unset credential.helper

และทำการโคลนอีกครั้งป้อนชื่อผู้ใช้และรหัสผ่าน และทุกอย่างเรียบร้อยดี


-3

เปิด Credential Manager -> ค้นหาโปรไฟล์ devops GIT ของคุณ -> คลิกที่มัน -> แก้ไข -> เพิ่มผู้ใช้และรหัสผ่านที่สร้างใน DevOps และบันทึก


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