Git Push ข้อผิดพลาด: ไม่พบที่เก็บข้อมูล


355

ฉันกำลังมีปัญหาแปลกมากด้วยและgit githubเมื่อฉันพยายามและผลักดันฉันได้รับ:

git push -u origin master
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly

ฉันเพิ่มรีโมต:

git remote add origin git@github.com:account-name/repo-name.git

ความคิดใด ๆ


2
git remote add origin git@github.com:account-name/repo-name.gitใช่ว่าเป็นวิธีการที่ผมได้ มันมีอยู่ใน GitHub และเป็น repo ส่วนตัว
Justin

1
คุณตรวจสอบชื่อผู้ใช้และชื่อ repo ซ้ำอีกครั้งหรือไม่
วิทยาศาสตร์

2
คุณเปลี่ยนชื่อผู้ใช้ Github ของคุณหรือเปล่า
Ankit

2
โอกาสใด ๆ ที่เกี่ยวข้องกับสิทธิ์ในการอ่าน / เขียนใน repo ฉันมี repo แบบอ่านอย่างเดียวและฉันได้รับข้อความนี้เมื่อฉันพยายามผลักดันบางสิ่ง
Michael

3
ผมมีปัญหาเดียวกัน. ฉันแก้ไขได้โดยอัปเดตไฟล์. git / config ฉันใส่ชื่อผู้ใช้ในรหัส URL ของ[remote "origin"]ส่วน
Ahmed Jehanzaib

คำตอบ:


512

ตรวจสอบเพื่อดูว่าคุณมีสิทธิ์อ่าน - เขียนหรือไม่

ข้อความแสดงข้อผิดพลาด Git ทำให้เข้าใจผิด ฉันมีปัญหาที่คล้ายกัน ฉันถูกเพิ่มไปยังโครงการที่มีอยู่ ฉันโคลนมันและมุ่งมั่นที่การเปลี่ยนแปลงในท้องถิ่น ฉันไปที่ผลักดันและได้รับERROR: Repository not found.ข้อความแสดงข้อผิดพลาด

คนที่เพิ่มฉันลงในโครงการทำให้ฉันสามารถเข้าถึงที่เก็บแบบอ่านอย่างเดียว การเปลี่ยนแปลงโดยพวกเขาและฉันสามารถผลักดัน


290
ต้องรักข้อความผิดพลาด Git ที่เป็นประโยชน์ ไม่พบที่เก็บข้อมูลที่ฉันเพิ่งโคลนมาใช่มั้ย คนโกหก
Grant Birchmeier

อ๋อปัญหาเดียวกันที่นี่ - ไม่มีสิทธิ์ในการกระทำและคุณได้รับข้อความแสดงข้อผิดพลาด <sigh>
rogerdpack

12
@GrantBirchmeier ฉันต้องการโหวต 100 ครั้งสำหรับความคิดเห็นของคุณ
technophyle

16
ขอบคุณ! คุณสามารถตรวจสอบสิ่งนี้ได้ด้วยการดูโครงการบนเว็บและคลิกที่ "ไฟล์ใหม่"
Ronnie

2
ดังนั้นสำหรับฉันรหัสผ่านของฉันมี `(ติ๊ก) ในนั้นและ PhpStorm ถูกลบอักขระก่อนที่จะส่งกด git: ให้พูดเช่นนี้รหัสผ่านของฉันคือ_pa``ssword_ Phpstorm จะส่งออกต่อไปนี้: https://_username_:_password_@github.com/_username_/repo.git แทนที่จะ https://_username_:_pa``ssword_@github.com/_username_/repo.git เปลี่ยนรหัสผ่านเป็นสิ่งที่ไม่ได้ใช้` ตัวละคร WORKS !!!
Ruben Arevalo

128

ฉันพบปัญหาเดียวกันและแก้ไขโดยรวมชื่อผู้ใช้และรหัสผ่านของฉันใน repo url:

git clone https://myusername:mypassword@github.com/path_to/myRepo.git

29
สิ่งนี้ใช้ได้สำหรับฉันโดยเพิ่มเพียงชื่อผู้ใช้ของฉัน:https://myusername@github.com/path_to/myRepo.git
redolent

5
งานนี้ แต่แน่นอนว่าผู้คนจำนวนมากจะคิดว่ามันเป็นปัญหาด้านความปลอดภัย ใช้ด้วยความระมัดระวัง
Alexander Mills

สิ่งนี้ใช้ได้สำหรับฉัน ก่อนหน้านี้ฉันเคยใช้ Git Bash สำหรับบัญชีอื่นและไม่สามารถหาวิธีเปลี่ยนบัญชีได้ ไม่ชอบ แต่ใช้งานได้
HartleySan

1
ตามความคิดเห็นดั้งเดิมของฉันเมื่อคุณกดหนึ่งครั้งสำเร็จคุณสามารถใช้git remote set-url origin urlคำสั่งเพื่อเปลี่ยน URL ต้นทางเป็นสิ่งเดียวกันโดยไม่ต้องใช้ชื่อผู้ใช้และรหัสผ่านจากนั้นก็ใช้งานได้ดี
HartleySan

1
คุณเพิ่งบันทึกเพื่อนวันของฉัน! ไชโย!
Eldho Paul Konnanal

105

ฉันมีปัญหาเดียวกันกับ repo ส่วนตัว

ทำดังต่อไปนี้:

ลบแหล่งกำเนิดระยะไกล

git remote rm origin

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

git remote add origin  https://USERNAME:PASSWORD@github.com/username/reponame.git

12
เกิดอะไรขึ้นถ้ารหัสผ่านมี @?
AnupamChugh

16
@AnupamChugh คุณต้องแทนที่ '@' ด้วย '% 40' ในรหัสผ่านของคุณ โดยทั่วไปคุณสามารถตรวจสอบได้โดยใช้รหัส JSencodeURIComponent(password)
elquimista

1
ฉันขอแนะนำให้ใช้ผู้ช่วยข้อมูลประจำตัวแทนที่จะเก็บรหัสผ่านของคุณเป็นข้อความธรรมดา: help.github.com/articles/caching-your-github-password-in-git
Johnsyweb

2
ขอบคุณมันช่วยได้โดยไม่มีปัญหา!
Matan Dahan

4
ที่สุด! การจับนั้นใช้สำหรับ PRIVATE REPO สิ่งนี้ใช้ได้ผลถ้าคุณมี Repo ส่วนตัวและรับข้อผิดพลาดนี้โดยทำตามคำแนะนำของฮับ Git เพื่อส่ง repo ที่มีอยู่จากโลคอลใน Xcode ไปเป็นรีโมตใน Github: $ git push -u origin master remote: Repository not found. fatal: repository 'https://github.com/teksunios/Abc.git/' not found
iHarshil

67

ฉันได้รับข้อผิดพลาดเดียวกัน

ERROR: Repository not found.   
fatal: The remote end hung up unexpectedly

และฉันได้สร้างพื้นที่เก็บข้อมูลบน Github และโคลนในพื้นที่

ฉันสามารถแก้ไขได้ด้วยการเปิด. git / config และลบ[remote "origin"]ส่วน

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

จากนั้นฉันก็วิ่งต่อไปนี้ (อีกครั้ง)

git remote add origin git@github.com:alexagui/my_project.git  
git push -u origin master

และครั้งนี้ฉันสามารถผลักดันไปยังที่เก็บ


3
คุณช่วยอธิบายได้อย่างไรว่าคุณเปิด. git / config และลบส่วน [remote "origin"] ได้อย่างไร?
Davi Moreira

ฉันมาที่นี่เพื่อค้นหาคำตอบของปัญหาที่คล้ายกัน ฉันสร้างที่เก็บใหม่จาก IntelliJ IDEA แต่ได้รับข้อความแสดงข้อผิดพลาดเดียวกันเมื่อฉันพยายามกดครั้งแรก คำตอบของ Alex Aguilar เป็นแรงบันดาลใจให้ฉันไปที่ไฟล์. git / config และแก้ไขที่เก็บ URL เพื่อให้มันใช้ชื่อผู้ใช้ของฉันด้วยอักษรตัวใหญ่ตัวแรกซึ่งตอนแรกไม่ได้ทำ มันแก้ไขปัญหาของฉัน
วาลล์

.git/ไดเรกทอรีสามารถพบได้ในไดเรกทอรีรากของโครงการ
Gui Imamura

นั่นยังแก้ไขปัญหาให้ฉันด้วย - ฉันพยายามเปลี่ยนผู้ใช้ในระหว่างโครงการและเปิดโลกแห่งความเจ็บปวด
gotofritz

ทำไมถึงมีความจำเป็น? ฉันเปลี่ยนชื่อผู้ใช้และตอนนี้ฉันกำลังเผชิญกับปัญหาทุกประเภท
HighOnMeat

46

หากคุณใช้ Git บนWindowsโปรดลองล้างข้อมูลรับรองของคุณ:

  1. ค้นหา "ตัวจัดการข้อมูลประจำตัว" (ควรอยู่ในแผงควบคุมของคุณ)
  2. ลบข้อมูลรับรองทั้งหมดที่เกี่ยวข้องกับ GitHub

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


3
ดีมาก - ขอบคุณสำหรับคำใบ้ที่ประสบความสำเร็จ! BTW ด้วยคำสั่งต่อไปนี้คุณสามารถนำทางโดยตรงไปยังผู้จัดการข้อมูลประจำตัว: "control.exe / ชื่อ Microsoft.CredentialManager"
Chris

ขอบคุณสิ่งนี้ช่วยชีวิตฉันไว้
Amy

สิ่งนี้ช่วยชีวิตฉันไว้!
mvermand

1
สิ่งเดียวที่นี่ที่ทำงานให้ฉัน
WHOATEMYNOODLES

วิธีนี้ใช้ได้ผลฉันมีบัญชีอื่นเกี่ยวกับ github ที่ทำให้เกิดปัญหา
Mokhtar Ashour

27

ฉันได้รับข้อผิดพลาดนี้ (แต่ก่อนหน้านี้ใช้งานได้) ปัญหาของฉันคือคีย์ ssh ที่หายไปถูกผูกไว้กับบัญชี Github คุณสามารถตรวจสอบคีย์ ssh ปัจจุบันด้วยssh-add -lปัจจุบันด้วย

หากคีย์ของคุณหายไปคุณสามารถเพิ่มได้ด้วย

ssh-add ~/.ssh/your_key

2
ฉันเปลี่ยนบัญชี Github ของฉันและดังนั้นจึงต้องเปลี่ยนคีย์ ssh ที่มีอยู่ การแก้ไขของคุณทำไปแล้วขอบคุณ!
โทมัส Potaire

ทางออกที่ง่ายที่สุดสำหรับฉัน ขอบคุณ!
Dominique Paul

23

ฉันมีปัญหาที่คล้ายกัน ข้อมูลประจำตัวที่ไม่ถูกต้องถูกแคชในพวงกุญแจของ OS X

ชำระเงิน: https://help.github.com/articles/updating-credentials-from-the-osx-keychain


3
ปัญหาเดียวกัน ฉันได้รับremote: Repository not found.เมื่อเข้าถึง repo ส่วนตัว เป็นเพราะยังเชื่อมต่อกับ repo ด้วยข้อมูลประจำตัวเก่า (แม้จะมีใหม่ในการกำหนดค่า git ท้องถิ่น) เพื่อแก้ไข 1) ลบกุญแจออกจากพวงกุญแจ 2) ทำคำสั่งใน terminal อีกครั้ง 3) ควรถามชื่อผู้ใช้และรหัสผ่าน
Nik Kov

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

@ คำตอบของแอนทอนคือสิ่งที่เกิดขึ้นกับฉัน น่าเสียดายที่ฉันพบสิ่งนี้หลังจากฉันแก้ไขปัญหาแล้ว ในกรณีของฉันฉันเพิ่งเปิด 2FA (Two Factor Authentication) (TFA) นี่ทำให้รหัสผ่านของฉันพัง ดังนั้นฉันจึงเคลียร์ข้อมูลประจำตัว (เช่นคนที่อยู่ในหน้านี้กล่าว) แต่การเก็บรหัสผ่านใหม่ยังคงล้มเหลวด้วยรหัสผ่านของฉัน (ฉันคาดเดาเนื่องจาก 2FA) ดังนั้นฉันจึงสร้างโทเค็นการเข้าถึงส่วนบุคคล ( help.github.com/articles/… ) เพื่อใช้แทนรหัสผ่าน ฉันให้ repo เข้าถึงเฉพาะเมื่ออยู่ในบรรทัดคำสั่ง
cwingrav

19
git remote rm origin
git remote add origin <remote url>

ทำงานให้ฉัน ปัญหานี้เริ่มมาหลังจากการอัพเดทคอมไพล์
karthikdivi

สิ่งนี้ใช้ได้สำหรับฉันโดยเปลี่ยน URL url เป็น git @ one
Skoua

17

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

จะแก้ไขอย่างไร เปิดการเข้าถึง Keychainบน mac ของคุณเลือกหมวดหมู่ "All Items" และค้นหา git ลบผลลัพธ์ทั้งหมดที่พบ

ไปที่เทอร์มินัลแล้วลองผลักอีกครั้ง เครื่องจะขอชื่อผู้ใช้และรหัสผ่าน ป้อนข้อมูลประจำตัวที่เกี่ยวข้องใหม่และนั่นแหละ!

หวังว่ามันจะช่วยใครซักคน ฉันพยายามสองสามชั่วโมง


1
ขอบคุณขอบคุณขอบคุณขอบคุณขอบคุณขอบคุณขอบคุณ !!!!! ฉันกระแทกหัวของฉันกับผนังแล้ว
potibas

สิ่งนี้ช่วยได้จริงๆ พยายามทุกอย่างและก็ไม่เข้าใจ Push, Pull CLone ทำงานได้จาก IntelliJ แต่ไม่ใช่จาก Terminal หลังจากทำความสะอาด Keychain มันทำงานเหมือนเวทมนต์
Achyut

สำหรับ macOS นี่เป็นทางออกเดียวที่ใช้ได้สำหรับฉัน ขอบคุณ
Niraj

14

remote: Repository not found. อาจเป็นข้อความแสดงข้อผิดพลาดที่ทำให้เข้าใจผิดอย่างหงุดหงิด เมื่อพยายามที่จะผลักดันไปยัง HTTPS ห่างไกลที่คุณไม่ได้มีสิทธิ์ในการเขียน

ตรวจสอบสิทธิ์การเขียนของคุณในที่เก็บ!

การลองรีโมต SSH ไปยังที่เก็บเดียวกันแสดงการตอบกลับที่ต่างกัน:

% git remote add ssh git@github.com:our-organisation/some-repository.git

% git fetch ssh
From github.com:our-organisation/some-repository
* [new branch]        MO_Adding_ECS_configs             -> ssh/MO_Adding_ECS_configs
* [new branch]        update_gems                       -> ssh/update_gems

% git push ssh     
ERROR: Repository not found.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

"สิทธิ์การเข้าถึงที่ถูกต้อง?"

ดีไม่ได้ที่คุณพูดว่าทำไมเหรอ?

ขณะนี้โหมดความล้มเหลวของ SSH ในสถานการณ์นี้ดีขึ้นเล็กน้อยฉันใช้ HTTPS รีโมทมากกว่า SSH เพราะ GitHub แนะนำ HTTPS มากกว่า SSHSSH

ฉันเข้าใจว่า GitHub ใช้ "ไม่พบ" ซึ่งหมายความว่า "ต้องห้าม" ในบางสถานการณ์เพื่อป้องกันการเปิดเผยที่มีอยู่ของที่เก็บส่วนตัวโดยไม่ตั้งใจ

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

- GitHub

นี่เป็นวิธีปฏิบัติทั่วไปที่ใช้กันทั่วทั้งเว็บแน่นอนว่ามันถูกกำหนด:

รหัสสถานะ 404 (ไม่พบ) บ่งชี้ว่าเซิร์ฟเวอร์ต้นทางไม่พบการแสดงปัจจุบันสำหรับทรัพยากรเป้าหมายหรือไม่เต็มใจที่จะเปิดเผยว่ามีอยู่

- 6.5.4 ไม่พบ 404, RFC 7231 HTTP / 1.1 ความหมายและเนื้อหา (เหมืองเน้น)

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

ตรวจสอบhttps://github.com/our-organisation/some-repository/โดยใช้เว็บเบราว์เซอร์ได้รับการยืนยันว่าผมไม่ได้มีสิทธิ์ในการเขียนไปยังพื้นที่เก็บข้อมูล ผู้ดูแลระบบ GitHub ของทีมของเราสามารถให้สิทธิ์การเขียนกับทีมของฉันในเวลาอันสั้นและฉันสามารถผลักดันสาขาขึ้น


10

หาก repo ของคุณทำงานได้ตามปกติมาก่อนและทันใดนั้นข้อผิดพลาดนี้ก็ปรากฏขึ้นสาเหตุส่วนใหญ่มาจากการที่git ของคุณได้รับการตรวจสอบสิทธิ์ในฐานะผู้ใช้รายอื่นซึ่งไม่สามารถเข้าถึงที่เก็บได้ ดังนั้นเพื่อที่จะผลักดันสิ่งที่คุณต้องทำคือระบุชื่อผู้ใช้และรหัสผ่านที่ถูกต้องในคำสั่ง git ดังนั้นคำสั่ง push สำหรับ repo GitHub จะมีลักษณะดังนี้:

git push https://youruser:password@github.com/user/reponame.git

username and passwordจะต้องมีการหลีกเลี่ยง URL ดังนั้นจึงควรแทนที่@ด้วย% 40และอื่น ๆ


สิ่งนี้ใช้ได้สำหรับฉันเป็นครั้งแรก ฉันสร้างปัญหาในตอนแรกโดยการลบ. gitconfig จาก C: / users / {ชื่อผู้ใช้}
Mike Upjohn

9

หากคุณอยู่ในกลุ่มใน Github ให้ตรวจสอบว่าคุณมีสิทธิ์การเขียน


1
เราจะทำอย่างนั้นได้อย่างไร? มันจะสมบูรณ์มากขึ้นหากคุณสามารถเพิ่มข้อมูลดังกล่าว
Renato Back

2
เพิ่งไปยังที่เก็บ git ของคุณและคลิกที่ไฟล์ใดก็ได้และพยายามแก้ไขหากคุณไม่มีสิทธิ์เข้าถึงเพื่อเขียนคุณจะพบข้อผิดพลาดบางอย่างเช่น "คุณกำลังพยายามแก้ไขไฟล์ .... "
mohor chatt

3
Create new fileวิธีที่รวดเร็วในการตรวจสอบคือการคลิก หากคุณได้รับข้อความแจ้งว่า "คุณกำลังสร้างไฟล์ในโครงการที่คุณไม่มีสิทธิ์เข้าถึงเพื่อเขียน" แสดงว่าคุณไม่มีสิทธิ์เข้าถึงเพื่อเขียน
wisbucky

8

มีปัญหาที่คล้ายกัน สาเหตุของปัญหาคือฉันติดตามการสอนออนไลน์เกี่ยวกับการเพิ่มที่เก็บใหม่ไปยัง Github

เพียงแค่ไปที่ Github สร้าง repo ใหม่ก็จะขอให้คุณเพิ่ม README ที่ไม่เพิ่มมัน สร้างมันขึ้นมาและคุณจะได้รับคำแนะนำเกี่ยวกับวิธีการผลักดัน

มันคล้ายกับสองบรรทัดถัดไป:

git remote add origin https://github.com/YOUR_USER/your-repo.git
git push -u origin master


8

นั่นคือสิ่งที่ทำงานสำหรับฉัน:

1. รีโมท

$ git remote rm origin
$ git remote add origin git@github.com:<USER>/<REPO>.git

หากคีย์ SSH ของคุณมีการใช้งานแล้วในตัวแทน Github อื่นคุณสามารถสร้างรหัสใหม่

2. การสร้างคีย์ SSH ใหม่

$ ssh-keygen -t rsa -b 4096 -C "web@github.com"

3. การเพิ่มกุญแจในระดับตัวแทน SSH

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa_github

4. เพิ่มคีย์ใหม่ไปยัง repo Github


7

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

หากเป็นกรณีนี้คำสั่งต่อไปนี้ควรแก้ไขปัญหาให้คุณ:

$ git remote -v
origin  https://github.com/private-repo.git (fetch)
origin  https://github.com/private-repo.git (push)
$ git remote rm origin
$ git remote add origin git@github.com:private-repo.git
$ git remote -v
origin  git@github.com:private-repo.git (fetch)
origin  git@github.com:private-repo.git (push)

โปรดทราบว่าการทำงานดังกล่าวข้างต้นสมมติว่า:

  1. รีโมตปัจจุบันของคุณมีชื่อว่าoriginและคุณมีคีย์ ssh ที่สร้างขึ้นเชื่อมต่อกับบัญชี github ของคุณ

  2. คุณมีรหัส ssh ที่เชื่อมโยงกับบัญชี GitHub ของคุณ (และเชื่อมต่อกับเครื่อง)

  3. คุณมีสิทธิ์ที่ถูกต้อง (อ่าน / เขียน) ตั้งบน gitHub สำหรับการตั้งค่าของ repo นี้


สิ่งนี้ใช้ได้สำหรับฉัน แต่อะไรคือการเปลี่ยนแปลงที่ผิดพลาด? มันใช้งานได้ดีในสัปดาห์ก่อนและนี่คือ repo ที่ฉันมีมานานหลายปี
Dylan Nissley

@DylanNissley อาจจะเปลี่ยนการตั้งค่าความปลอดภัยของ repo หรือไม่ ฉันไม่แน่ใจว่าจะซื่อสัตย์ : /
John Donner

6

คุณต้องตรวจสอบการเข้าถึง SSH ของคุณดังนี้:

ssh -T git@github.com

ปัญหานี้เป็นเพราะผมไม่ได้เพิ่มการตอบสนองคนใน SSH ในพื้นที่เก็บข้อมูล, อ่านเพิ่มเติมเกี่ยวกับ SSH เชื่อมโยง-1 , การเชื่อมโยง-2


สิ่งนี้แสดงให้เห็นถึงปัญหากับหลาย ๆ คีย์และไฟล์ปรับแต่งที่ไม่ทำงาน ขอบคุณสำหรับทิป.
dibs

5

ต่อไปนี้แก้ไขปัญหาให้ฉัน

ก่อนอื่นฉันใช้คำสั่งนี้เพื่อหาว่าบัญชี github ที่ใช้คืออะไร:

ssh -T git@github.com

สิ่งนี้ทำให้ฉันคำตอบเช่นนี้:

Hi <github_account_name>! You've successfully authenticated, but GitHub does not provide shell access. I just had to give the access to fix the problem.

จากนั้นฉันเข้าใจว่าผู้ใช้ Github ที่อธิบายไว้ในคำตอบ (github_account_name) ไม่ได้รับอนุญาตในที่เก็บ Github ที่ฉันพยายามดึง


จะทำอย่างไรถ้าฉันได้รับข้อผิดพลาดนี้:The authenticity of host 'github.com (192.30.253.112)' can't be established. RSA key fingerprint is SHA256.... Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.253.112' (RSA) to the list of known hosts. Permission denied (publickey).
Nik Kov

5

นี่คือวิธีแก้ปัญหาของฉัน

#check current github account
ssh -T git@github.com

#ensure the correct ssh key used with github
ssh-agent -s
ssh-add ~/.ssh/YOUR-GITHUB-KEY

#re-add the origin
git remote add origin git@github.com:YOUR-USER/YOUR-REPO.GIT
git push -u origin master

4

หากใครประสบปัญหาที่ github.com ตรวจสอบว่าคุณได้ตอบรับคำเชิญหลังจากเจ้าของ repo อนุญาตให้คุณ จนกว่าคุณจะยอมรับ repo คำเชิญจะมองไม่เห็นสำหรับคุณ ดังนั้นคุณจะได้รับERROR: Repository not found.


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

1
สิ่งเดียวกันที่นี่ฉันคาดหวังว่าข้อความแสดงข้อผิดพลาดจะเป็น "คุณไม่ได้รับอนุญาตให้เขียน" หรืออะไรทำนองนั้น ขอบคุณสำหรับการชี้ให้เห็น!
Miguel Péres

ซอฟต์แวร์โดย Linus ไม่ใช่ซอฟต์แวร์ที่ทำในสิ่งที่คาดหวัง
Nakilon

4

ปัญหา : Github ไม่คุ้นเคยกับที่เก็บของคุณด้วยเหตุผลบางประการ

ข้อผิดพลาด:แจ้งใน git cli ดังนี้:

รีโมต: ไม่พบที่เก็บ ร้ายแรง: ที่เก็บข้อมูล ' https://github.com/MyOrganization/projectName.git/ ' ไม่พบ

ทางออก: 2 ตัวเลือก

  1. Github อาจไม่คุ้นเคยกับหนังสือรับรองของคุณ: - ตัวเลือกแรกคือการโคลนโครงการที่มีหนังสือรับรองที่ถูกต้องuser:passwordในกรณีที่คุณลืมหรือสร้างโทเค็น ssh และปรับคีย์นี้ใน Github ของคุณ อาคาgit push https://<userName>:<password>@github.com/Company/repositoryName.git

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

ไปที่พื้นที่เก็บข้อมูลบน Github -> การตั้งค่า -> ผู้ทำงานร่วมกัน & ทีม -> เพิ่มสมาชิก / ดูแลผู้ใช้ของคุณ -> ตอนนี้พวกเขาได้รับอนุญาตให้กระทำและผลักดัน


3

การเปลี่ยนเนื้อหาของไฟล์. git / config ดังที่ Alex กล่าวไว้ข้างต้น ฉันประสบปัญหาเดียวกันและฉันคิดว่าเป็นเพราะฉันเปลี่ยนชื่อผู้ใช้ Github ไม่สามารถอัปเดตไฟล์ในตัวเครื่องได้เมื่อมีการเปลี่ยนแปลง ดังนั้นทุกครั้งที่คุณเปลี่ยนชื่อผู้ใช้คุณอาจลองใช้

git remote add origin your_ssh_link_from_github

ฉันหวังว่านี่จะช่วยได้ ;)


3

ผมมีปัญหาเดียวกัน. ลองทำสิ่งต่อไปนี้:

1. การแก้ไข Keychain Access ใน Mac สำหรับข้อมูลประจำตัว git แก้ปัญหาให้ฉันได้
2. การรีเซ็ต URL ต้นทาง

git remote rm origin
git remote add origin git@github.com:account-name/repo-name.git

3

หากคุณโคลนจาก GitHub ใช้httpsแต่คุณกำลังใช้sshในการผลักดันคุณยังสามารถได้รับข้อผิดพลาดนี้

หากต้องการแก้ไขให้เปิด.git/configและแทนที่:

url = https://github.com/company/project.git

กับ

url = git@github.com:company/project.git

และคุณควรจะสามารถผลักดันโดยไม่มีการเตือน ...


2

เคยประสบปัญหาเดียวกัน ทุกอย่างทำงานได้ดีมาหลายปีแล้วก็เกิดข้อผิดพลาดขึ้นทันที

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

ERROR: Repository not found.

เมื่อฉันลบคีย์การนำไปใช้ออกจากเอเจนต์ SSH ทุกอย่างก็กลับมาเป็นปกติ


2

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


ในกรณีของฉันฉันได้ตั้งค่า 2 บัญชีและเพิ่มรายการใน. ssh / config สำหรับนามแฝงที่ทำงานและเป็นส่วนตัวและถูกลืมไปแล้วดังนั้น So; การเปลี่ยนส่วนต้นกำเนิดใน. git / config ของไดเรกทอรีโครงการเพื่อให้ฉันทำงานแทน 'github.com' แก้ปัญหาได้ปัญหาคือว่าในขณะที่การโคลนนิ่งฉันใช้ git@github.com: blahblah และไม่ใช่ git @ work: blahblah
sourabh

2

หากคุณใช้ที่เก็บส่วนตัวตรวจสอบผู้ใช้เชื่อมต่อคุณจะต้องมีสิทธิ์ใช้พื้นที่เก็บข้อมูล


1

ผมมีปัญหาเดียวกัน. ปัญหาของฉันคือความเข้าใจผิดที่ฉันต้องสร้าง repo ที่ว่างเปล่าก่อนบน gitub ก่อนที่จะผลักดันมัน Doh! รวมสิ่งนี้ไว้ที่นี่สำหรับคนอื่นที่ไม่ได้ตระหนัก


1

ไปที่โฟลเดอร์โครงการของคุณจากนั้นค้นหาโฟลเดอร์. git จากนั้นเปิดไฟล์ config ด้วย notepad และตรวจสอบว่ามีลิงก์ไปยัง gitub repo ภายใต้: [remote "origin"] หากแตกต่างจาก repo ใน GitHub ของคุณ จากนั้นเพียงแก้ไขหรือเปิด repo ใหม่ที่มีชื่อในไฟล์กำหนดค่า


1

ทางออกของฉันอาจเป็นประโยชน์กับคุณบางคน

ฉันได้รับข้อผิดพลาดเดียวกันหลังจากอัปเดตระบบปฏิบัติการ macbook เป็น Yosemite ปัญหาของฉันได้รับการแก้ไขโดยการสร้างคีย์ ssh ขึ้นใหม่ คุณสามารถทำได้โดยทำตามขั้นตอนที่ 2 ของหน้านี้: https://help.github.com/articles/generating-ssh-keys/

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