หากคุณพยายาม clone หรือ pull จาก Git repository บน macOS Sierra คุณอาจเจอข้อผิดพลาด "fatal: 'origin' does not appear to be a git repository fatal: the remote end hung up unexpectedly" ปัญหานี้อาจเกิดขึ้นเพราะเวอร์ชัน command line Git client ที่ล้าสมัยใน macOS Sierra ของคุณ
ในบทความนี้ เราจะแนะนำขั้นตอนแก้ไขข้อผิดพลาด "git fatal: 'origin' does not appear to be a git repository" บน macOS Sierra โดยการอัปเดต Git package โดยใช้ Homebrew แล้วลองทำการดำเนินการข้างต้นอีกครั้ง โดยใช้ Git client เวอร์ชันที่อัปเดตแล้ว
แตะ Git บน Mac คืออะไร?
Git เป็นระบบควบคุมเวอร์ชันแบบกระจาย (distributed version control system) ฟรีและโอเพนซอร์ส ที่ออกแบบมาเพื่อตอบสนองและจัดการโปรเจ็กต์ขนาดเล็กถึงใหญ่มาก ด้วยความเร็วและประสิทธิภาพ
แพลตฟอร์มนี้เรียนรู้ง่าย และมีขนาดเล็ก (tiny footprint) ด้วยประสิทธิภาพแบบสายฟ้า สำคัญที่สุด มันให้แต่ละนักพัฒนาได้รับสำเนาท้องถิ่น (local copy) ของประวัติการพัฒนาทั้งหมด หมายความว่าพวกเขาสามารถทำงานออฟไลน์ได้ และทีหลัง push การเปลี่ยนแปลงไปยังเซิร์ฟเวอร์กลาง
เคล็ดลับ: สแกน Mac ของคุณเพื่อตรวจสอบปัญหาประสิทธิภาพ ไฟล์ขยะ แอปที่เป็นอันตราย และภัยคุกคามด้านความปลอดภัย
ที่อาจทำให้ระบบมีปัญหาหรือทำงานช้าลง
หากคุณใหม่กับ Git คุณอาจสงสัยถึงวัตถุประสงค์ของมันบน Mac จะสรุปสั้นๆ ว่า Git ช่วยให้นักพัฒนาทำงานร่วมกันบนโปรเจ็กต์พัฒนาโค้ดได้ง่าย ทำให้สะดวกในการย้อนกลับการเปลี่ยนแปลงหากมีบางอย่างผิดพลาด
macOS มาพร้อม Git ติดตั้งไว้แล้ว แต่ไม่ได้ตั้งค่าโดยค่าเริ่มต้น หมายความว่าเมื่อคุณลองใช้ Git บนคอมพิวเตอร์ครั้งแรก คุณอาจเจอปัญหาเช่นข้อผิดพลาด "fatal origin does not appear to be a git repository"
โชคดีที่ข้อผิดพลาดนี้แก้ไขง่าย และเราจะแชร์วิธีแก้ในส่วนต่อไป
ข้อผิดพลาด "origin does not appear to be a git repository fatal" คืออะไร?
หนึ่งในปัญหาที่พบบ่อยที่สุดที่ผู้ใช้ Apple ต้องเผชิญบน macOS Sierra หรือ High Sierra คือข้อความข้อผิดพลาด "fatal 'origin' does not appear to be a git repository" ที่ปรากฏเมื่อคุณพยายาม clone git repositories จาก GitHub หรือ Bitbucket บนคอมพิวเตอร์ Mac ของคุณ
ข้อผิดพลาดมักเกิดขึ้นหลังจากคุณติดตั้ง Xcode 9 หรืออัปเดต macOS 10.13 High Sierra หรือเมื่อคุณพยายามใช้คำสั่ง Terminal เช่น -cd, -ls, -mkdir, -git init, และ -git pull นี่ยังอาจเกิดขึ้นหากคุณรันคำสั่งในไดเรกทอรีผิดโดยไม่ได้ตั้งใจ หรือหากคุณลบโฟลเดอร์ .git ไป ไม่ว่าจะเป็นอย่างไร มันแก้ไขง่าย!
วิธีแก้ไขข้อผิดพลาด "fatal: 'origin/master' does not appear to be a git repository"
ส่วนใหญ่ Git ทำงานได้ดีบน macOS แต่อาจยังเจอข้อผิดพลาดแปลกบางครั้ง นี่คือวิธีแก้ข้อผิดพลาด "fatal: 'origin' does not appear to be a git repository" บน Mac ของคุณ
วิธีแก้ที่ 1: ปิดแอปพลิเคชันที่เข้าถึง repository ก่อน
หากคุณมีแอปพลิเคชันเปิดอยู่ที่เข้าถึง repository ให้ปิดมัน รวมถึง text editors, IDEs, และ terminal windows ใดๆ ต่อไป ตรวจสอบให้แน่ใจว่าคุณมีไดเรกทอรี .git ที่รากของโปรเจ็กต์ของคุณ
ไดเรกทอรี .git เป็นที่ที่ Git จัดเก็บ metadata ทั้งหมดสำหรับโปรเจ็กต์ หากไดเรกทอรีนี้หายไป อาจเป็นเพราะคุณลบมันโดยไม่ได้ตั้งใจ หรือคุณพยายามเข้าถึง repository ที่ไม่ใช่ Git repository
หากไดเรกทอรี .git มีอยู่ ให้ตรวจสอบว่ามีไฟล์ HEAD อยู่ข้างในหรือไม่ ไฟล์ HEAD ชี้ไปยัง commit ล่าสุดใน repository หากไฟล์นี้หายไป หมายความว่ายังไม่มี commits ใน repository
วิธีแก้ที่ 2: ลบ origin จาก repo ของคุณ และเพิ่มใหม่
หากคุณได้ข้อความข้อผิดพลาด "error fatal: origin does not appear to be a git repository" อาจบ่งชี้ว่า remote (origin) repo ของคุณไม่ได้ชี้ไปยัง git repository ที่ถูกต้องอีกต่อไป เพื่อแก้ไข คุณต้องลบ origin จาก repo ของคุณ และเพิ่มมันใหม่ นี่คือวิธีทำใน Terminal:
คุณควร git init repo ของคุณก่อน แล้วเพิ่มไฟล์และ stage พวกมันด้วย git add (เช่น git add *.c) หลังจากนั้น ทำ git commit -m Initial Commit
วิธีแก้ที่ 3: Checkout จาก master branch เท่านั้น
น่าจะเป็นเพราะคุณพยายาม checkout จาก branch ผิด ข้อความข้อผิดพลาดที่คุณเห็น บอกว่า origin ไม่ปรากฏเป็น git repository เพราะคุณน่าจะพยายาม checkout จาก master branch ซึ่งไม่มีอยู่ใน fork ของคุณ
เพื่อแก้ไข ให้ checkout จาก branch ที่ถูกต้อง แล้วทุกอย่างควรทำงานได้ดี คุณสามารถใช้ command line git tool สำหรับนี้ อย่างไรก็ตาม หากคุณสบายใจกับ GUI tools เช่น SourceTree หรือ GitHub Desktop ตัวเหล่านี้ก็ทำงานได้สำหรับสถานการณ์นี้
วิธีแก้ที่ 4: หลีกเลี่ยงคำสั่ง git เมื่อพยายาม push/pull โค้ดจาก origin
ตอนนี้ หากคุณกำลังรัน push/pull code เมื่อข้อผิดพลาดปรากฏ ให้หลีกเลี่ยงการใช้คำสั่ง git เพราะอาจกระตุ้นข้อผิดพลาดให้แสดง สำหรับคำแนะนำว่าทำไง อ้างอิงข้อมูลด้านล่าง:
- เมื่อเห็นข้อความข้อผิดพลาด แรกให้ตรวจสอบว่าคุณอยู่ในไดเรกทอรีที่ถูกต้อง คุณควรอยู่ในไดเรกทอรีหลักของโปรเจ็กต์ ไม่ใช่ภายใน sub-directory
- หากคุณอยู่ในไดเรกทอรีที่ถูกต้อง แล้ว ตรวจสอบว่าโปรเจ็กต์ของคุณเป็น git repository จริงๆ คุณทำได้โดยรันคำสั่ง `git status`
- หากคุณเห็นไฟล์ใดที่ไม่ได้รับการติดตามโดย git ให้เพิ่มพวกมันเข้า repository ด้วยคำสั่ง `git add`
- เมื่อไฟล์ทั้งหมดถูกติดตามแล้ว ลองรันคำสั่ง `git pull` หรือ `git push` อีกครั้ง
วิธีแก้ที่ 5: ตรวจสอบให้แน่ใจว่า username ถูกต้องใน remotes
วิธีหนึ่งในการแก้ข้อผิดพลาดนี้ คือการตรวจสอบให้แน่ใจว่า username ของคุณถูกต้องใน remotes สำหรับ git repository ของคุณ ในการตรวจสอบ ให้เปิดไฟล์ใน text editor และหาส่วนที่เขียนว่า [remote origin] บรรทัดใต้ควรมี username ของคุณ ตามด้วยเครื่องหมาย @ หากไม่มี ให้เพิ่ม username ของคุณที่นั่น และเซฟไฟล์ คุณควรสามารถรัน git push ได้โดยไม่มีข้อผิดพลาด
วิธีแก้ที่ 6: ยืนยันการเชื่อมต่อกับ GitHub
อีกวิธีแก้คือยืนยันการเชื่อมต่อระหว่างคอมพิวเตอร์ของคุณและ GitHub เพื่อทำเช่นนั้น คุณต้องคลิกที่ Advanced Options ที่มุมขวาล่างของหน้าจอ ที่นี่ คุณจะพบสองแท็บ – Connection Status และ SSH Keys
ภายใต้ Connection Status ให้แน่ใจว่า ภายใต้ SSH public key status คุณเห็น ไฟสีเขียวหรือแดง ถัดจาก Public Key (ถ้ามี) การคลิกเข้าไปในกล่องนี้จะแสดงข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่เกิดขึ้นกับ key
ตัวอย่างเช่น หาก GitHub ไม่ออนไลน์อยู่ หรือถูกบล็อกเนื่องจากการตั้งค่าไฟร์วอลล์ที่ทำงานหรือโรงเรียน คุณจะไม่เห็นสถานะการเชื่อมต่ออินเทอร์เน็ตที่นี่ เพื่อแก้ปัญหานี้ ให้กลับไปที่ด้านบนที่คุณคลิก Advanced Options และเลือก Add New Connection กรอกข้อมูลในกล่องให้เหมาะสมสำหรับการเชื่อมต่อกับ GitHub ผ่าน SSH หลังจากคลิก Connect การเชื่อมต่อของคุณควรได้รับการยืนยันและแก้ไข!
วิธีแก้ที่ 7: Force Push เฉพาะเมื่อจำเป็น
ในบางกรณี คุณอาจต้อง force push การเปลี่ยนแปลงของคุณไปยัง remote repository นี้มักจำเป็นก็ต่อเมื่อคุณทำการเปลี่ยนแปลงบน remote repository ที่ไม่สะท้อนใน local copy ของคุณ
เพื่อทำเช่นนั้น ให้ใช้คำสั่ง `git push` พร้อมตัวเลือก `–force` อย่างไรก็ตาม ให้ระมัดระวังเมื่อใช้ตัวเลือกนี้ เพราะอาจทำให้เกิดปัญหาหากใช้ไม่ถูกต้อง
วิธีแก้ที่ 8: ลอง clone options อื่นๆ (เช่น –bare, -n, ฯลฯ)
เมื่อคุณได้ข้อผิดพลาดนี้ อาจบ่งชี้ว่า current directory ของคุณไม่ใช่ git repository ที่ถูกต้อง มีวิธีแก้ไข git error นี้หลายวิธี หนึ่งคือลอง clone options ต่างๆ
ตัวอย่างเช่น คุณสามารถลองตัวเลือก –bare หรือ -n อีกวิธีคือ initialize git repository ใหม่ใน current directory คุณทำได้ง่ายโดยรันคำสั่ง 'git init' หากยังไม่ได้ผล คุณอาจต้องลบไดเรกทอรี .git และเริ่มใหม่ทั้งหมด
เมื่อคุณลบไดเรกทอรี .git แล้ว ให้รันคำสั่งต่อไปนี้: git init && git remote add origin url_to_original_repository
วิธีแก้ที่ 9: ใช้ Outbyte MacAries
มีหลายสาเหตุสำหรับข้อผิดพลาด "fatal origin does not appear to be a git repository" และคุณอาจต้องหลายขั้นตอนเพื่อแก้ไข บางสาเหตุรวมถึงปัญหาสิทธิ์ หน่วยความจำไม่พอ และความล้มเหลวของฮาร์ดแวร์หรือซอฟต์แวร์ ในกรณีนี้ Outbyte MacAries ช่วยแก้ไขปัญหาเหล่านี้ได้อย่างมีประสิทธิภาพภายในไม่กี่นาที
Outbyte MacAries เป็นโปรแกรมซอฟต์แวร์ที่ช่วยแก้ไขข้อผิดพลาดโดยเพิ่มประสิทธิภาพ macOS ของคุณ มันง่ายและใช้ง่าย แค่ดาวน์โหลดและติดตั้งซอฟต์แวร์ แล้วรันและทำตามคำแนะนำ ภายในไม่กี่นาที ปัญหาของคุณจะแก้ไขแล้ว
วิธีแก้ที่ 10: หากทุกอย่างล้มเหลว ใช้ GitHub Desktop แทน Terminal
GitHub Desktop เป็นแอปพลิเคชัน GUI ที่สามารถใช้จัดการ repositories ของคุณแทนการใช้ Terminal เพื่อทำเช่นนั้น ให้ดาวน์โหลด GitHub Desktop เปิดมัน และล็อกอินด้วย credentials GitHub ของคุณ จากนั้น clone repository ของคุณไปยังคอมพิวเตอร์ หลังจากนั้น คุณควรสามารถทำและ push การเปลี่ยนแปลงได้โดยไม่มีปัญหา
วิธีหลีกเลี่ยงข้อผิดพลาด "fatal: 'origin' does not appear to be a git repository"
มีหลายวิธีหลีกเลี่ยงข้อผิดพลาดนี้ วิธีแรกคือการให้แน่ใจว่าคุณได้เพิ่ม remote repository แล้ว คุณทำได้โดยรันคำสั่ง git remote add origin หากคุณเพิ่ม remote repository แล้ว ให้แน่ใจว่า origin URL ของคุณถูกต้อง
วิธีที่สองในการหลีกเลี่ยงข้อผิดพลาดนี้ คือการรันคำสั่ง git pull ก่อนที่คุณจะพยายาม push การเปลี่ยนแปลงของคุณ นี่จะให้คุณมั่นใจว่า local repository ของคุณทันสมัยกับ remote repository
สุดท้าย หากคุณยังได้ข้อผิดพลาด อาจเป็นเพราะคุณพยายาม push ไปยัง branch ที่ไม่มีอยู่บน remote repository เพื่อแก้ไข คุณสามารถสร้าง branch บน remote repository แล้ว push การเปลี่ยนแปลงของคุณไปที่มัน
สรุป
หากคุณได้ข้อผิดพลาด "fatal origin does not appear to be a git repository" บน macOS Catalina หรือ Sierra มีบางสิ่งที่คุณสามารถทำเพื่อแก้ไข และหวังว่าเราสามารถนำเสนอวิธีแก้ไขทั้งหมดในรูปแบบที่ดีที่สุด
หากคุณมีคำถามหรือข้อกังวล อย่าลังเลที่จะส่งข้อความมาหาเรา เราจะยินดีช่วยเหลือ นอกจากนี้ หากมีปัญหาอื่นที่คุณต้องการให้เราพูดถึง โปรดแจ้งให้เราทราบในส่วนความคิดเห็นด้านล่าง ส่วนความคิดเห็นเปิดสำหรับการอภิปรายและข้อเสนอแนะใดๆ เกี่ยวกับการแก้ไข "fatal origin does not appear to be a git repository" บน macOS ดังนั้นรู้สึกอิสระที่จะมีส่วนร่วม! ท้ายที่สุด หากคุณเพลิดเพลินกับการอ่านโพสต์นี้ โปรดแชร์กับเพื่อนๆ ของคุณ เพื่อให้พวกเขาได้ประโยชน์จากมันเช่นกัน!