Nếu bạn đang cố clone hoặc pull từ kho Git trên macOS Sierra, bạn có thể gặp lỗi "fatal: 'origin' does not appear to be a git repository fatal: the remote end hung up unexpectedly". Vấn đề này có thể xảy ra do phiên bản lỗi thời của command line Git client trong macOS Sierra.
Trong bài này, chúng tôi sẽ hướng dẫn bạn các bước khắc phục lỗi "git fatal: 'origin' does not appear to be a git repository" trên macOS Sierra bằng cách cập nhật gói Git dùng Homebrew và thử lại các thao tác trên với phiên bản Git client cập nhật.
Nhưng Git trên Mac là gì?
Git là hệ thống kiểm soát phiên bản phân tán miễn phí và mã nguồn mở được thiết kế để đáp ứng và xử lý dự án nhỏ đến rất lớn với tốc độ và hiệu quả.
Nền tảng này dễ học và có dung lượng nhỏ với hiệu suất nhanh như chớp. Quan trọng nhất, nó cho mỗi lập trình viên bản sao cục bộ toàn bộ lịch sử phát triển, nghĩa là họ có thể làm việc ngoại tuyến và sau đó đẩy thay đổi lên máy chủ trung tâm.
Mẹo chuyên nghiệp: Quét Mac để tìm các vấn đề về hiệu suất, tệp rác, ứng dụng độc hại và mối đe dọa bảo mật
có thể gây ra sự cố hệ thống hoặc hiệu suất chậm.
Nếu bạn mới với Git, bạn có thể thắc mắc mục đích của nó trên Mac. Vâng, ngắn gọn, Git cho phép lập trình viên dễ dàng cộng tác phát triển mã, thuận tiện để họ roll back (quay lui) thay đổi nếu có sự cố.
macOS đi kèm Git pre-installed (cài sẵn), nhưng không được thiết lập mặc định. Điều này có nghĩa khi bạn lần đầu thử dùng Git trên máy, bạn có thể gặp vấn đề như lỗi "fatal origin does not appear to be a git repository".
May mắn thay, lỗi này dễ khắc phục. Và chúng tôi sẽ chia sẻ các sửa lỗi ở các phần tiếp theo.
Lỗi "origin does not appear to be a git repository fatal" là gì?
Một trong những vấn đề phổ biến nhất người dùng Apple phải đối mặt trên macOS Sierra hoặc High Sierra là thông báo lỗi "fatal 'origin' does not appear to be a git repository" xuất hiện khi bạn cố clone kho git từ GitHub hoặc Bitbucket trên Mac.
Lỗi thường xảy ra sau khi cài Xcode 9 hoặc cập nhật macOS 10.13 High Sierra hoặc khi bạn dùng lệnh Terminal như -cd, -ls, -mkdir, -git init, và -git pull. Điều này cũng có thể xảy ra nếu bạn vô tình chạy lệnh trong thư mục sai hoặc nếu bạn xóa thư mục .git. Cách nào, nó dễ khắc phục!
Cách khắc phục lỗi "fatal: 'origin/master' does not appear to be a git repository"
Đa phần, Git hoạt động khá tốt trên macOS, nhưng bạn vẫn có thể gặp lỗi lạ thỉnh thoảng. Đây là cách khắc phục lỗi "fatal: 'origin' does not appear to be a git repository" trên Mac.
Sửa lỗi #1: Trước hết, đóng bất kỳ ứng dụng nào truy cập kho
Nếu có ứng dụng mở đang truy cập kho, hãy đóng chúng. Bao gồm trình soạn thảo văn bản, IDE, và cửa sổ terminal. Tiếp theo, đảm bảo bạn có thư mục .git tại gốc dự án.
Thư mục .git là nơi Git lưu tất cả metadata cho dự án. Nếu thư mục này thiếu, có thể bạn vô tình xóa hoặc đang cố truy cập kho không phải kho Git.
Nếu thư mục .git tồn tại, kiểm tra xem có tệp HEAD bên trong không. Tệp HEAD trỏ đến commit gần nhất trong kho. Nếu tệp này thiếu, nghĩa là chưa có commit nào trong kho.
Sửa lỗi #2: Xóa origin từ repo và thêm lại
Nếu bạn nhận thông báo "error fatal: origin does not appear to be a git repository", nó có thể gợi ý kho từ xa (origin) không còn trỏ đến kho git hợp lệ. Để khắc phục, bạn cần xóa origin từ repo và thêm lại. Cách làm trong Terminal:
Bạn nên git init repo trước, sau đó thêm tệp và stage chúng với git add (ví dụ, git add *.c). Sau đó, làm git commit -m Initial Commit.
Sửa lỗi #3: Checkout chỉ từ nhánh master
Có khả năng vấn đề là bạn đang cố checkout từ nhánh sai. Thông báo lỗi bạn thấy báo origin không xuất hiện như kho git. Điều này vì bạn có thể đang cố checkout từ nhánh master, không tồn tại trong fork của bạn.
Để khắc phục, chỉ cần checkout từ nhánh đúng, và mọi thứ nên hoạt động tốt. Bạn có thể dùng công cụ dòng lệnh git. Tuy nhiên, nếu bạn thoải mái với công cụ GUI như SourceTree hoặc GitHub Desktop, chúng cũng hoạt động cho tình huống này.
Sửa lỗi #4: Tránh lệnh git khi cố push/pull mã từ origin
Bây giờ, nếu bạn đang chạy push/pull mã khi lỗi xuất hiện, tránh dùng lệnh git vì có thể kích hoạt lỗi hiện. Để hướng dẫn làm gì, tham khảo thông tin dưới:
- Khi thấy thông báo lỗi, trước hết kiểm tra xem bạn có ở thư mục đúng không. Bạn nên ở thư mục chính của dự án, không phải bên trong thư mục con.
- Nếu ở thư mục đúng, kiểm tra dự án thực sự là kho git. Bạn có thể làm bằng cách chạy lệnh `git status`.
- Nếu thấy tệp không được theo dõi bởi git, thêm chúng vào kho với lệnh `git add`.
- Khi tất cả tệp được theo dõi, thử chạy lại lệnh `git pull` hoặc `git push`.
Sửa lỗi #5: Đảm bảo username đúng trong remotes
Cách giải quyết lỗi này là đảm bảo username đúng trong remotes cho kho git. Để kiểm tra, mở tệp trong trình soạn thảo văn bản và tìm phần ghi [remote origin]. Dòng dưới nên có username theo sau dấu @. Nếu không, chỉ cần thêm username đó và lưu tệp. Bây giờ bạn nên chạy git push không lỗi.
Sửa lỗi #6: Xác minh kết nối với GitHub
Giải pháp khác là xác minh kết nối giữa máy và GitHub. Để làm vậy, bạn cần nhấp Advanced Options (Tùy chọn nâng cao) ở góc dưới bên phải màn hình. Ở đây, bạn sẽ thấy hai thẻ – Connection Status (Trạng thái kết nối) và SSH Keys.
Dưới Connection Status, đảm bảo dưới SSH public key status bạn thấy đèn xanh hoặc đỏ bên cạnh Public Key (nếu áp dụng). Nhấp vào hộp này sẽ hiển thị thêm thông tin về chuyện gì xảy ra với key.
Ví dụ, nếu GitHub không trực tuyến hoặc bị chặn do cài đặt tường lửa ở công ty hoặc trường thì bạn sẽ không thấy trạng thái kết nối internet ở đây. Để khắc phục, quay lại trên cùng nơi bạn nhấp Advanced Options và chọn Add New Connection (Thêm kết nối mới). Điền các hộp với thông tin thích hợp để kết nối GitHub qua SSH. Sau khi nhấp Connect, kết nối nên được xác minh và khắc phục!
Sửa lỗi #7: Force Push Chỉ Khi Cần Thiết
Trong một số trường hợp, bạn có thể cần đẩy mạnh thay đổi lên kho từ xa. Thường chỉ cần nếu bạn đã thay đổi kho từ xa không phản ánh trong bản sao cục bộ.
Để làm vậy, chỉ cần dùng lệnh `git push` với tùy chọn `–force`. Tuy nhiên, cẩn thận khi dùng tùy chọn này, vì có thể gây vấn đề nếu dùng sai.
Sửa lỗi #8: Thử các tùy chọn clone khác (ví dụ, –bare, -n, v.v.)
Khi gặp lỗi này, có thể gợi ý thư mục hiện tại không phải kho git hợp lệ. Có vài phương pháp khác giải quyết lỗi git này. Một cách là thử tùy chọn clone khác.
Ví dụ, bạn có thể thử tùy chọn –bare hoặc -n. Cách khác là khởi tạo kho git mới trong thư mục hiện tại. Bạn có thể dễ dàng làm bằng cách chạy lệnh 'git init'. Nếu vẫn không được, bạn có thể cần xóa thư mục .git và bắt đầu lại từ đầu.
Khi đã xóa thư mục .git, chỉ cần chạy các lệnh sau: git init && git remote add origin url_to_original_repository.
Sửa lỗi #9: Dùng Outbyte MacAries
Có nhiều nguyên nhân cho lỗi "fatal origin does not appear to be a git repository" và bạn có thể cần vài bước để khắc phục. Một số nguyên nhân bao gồm vấn đề quyền, không đủ không gian bộ nhớ, và lỗi phần cứng hoặc phần mềm. Trong trường hợp này, Outbyte MacAries có thể giúp khắc phục hiệu quả trong vài phút.
Outbyte MacAries là chương trình phần mềm giúp khắc phục lỗi bằng cách tối ưu macOS. Nó đơn giản và dễ dùng. Chỉ cần tải và cài đặt phần mềm, chạy và làm theo hướng dẫn. Trong vài phút, vấn đề sẽ được khắc phục.
Sửa lỗi #10: Nếu tất cả thất bại, dùng GitHub Desktop thay vì Terminal
GitHub Desktop là ứng dụng GUI có thể dùng quản lý kho thay vì dùng Terminal. Để làm vậy, chỉ cần tải GitHub Desktop, mở, và đăng nhập với thông tin GitHub. Sau đó, clone kho về máy. Sau đó, bạn nên có thể tạo và đẩy thay đổi không vấn đề.
Cách tránh lỗi "fatal: 'origin' does not appear to be a git repository"
Có vài cách tránh lỗi này, và cái đầu tiên là đảm bảo bạn đã thêm kho từ xa. Bạn có thể làm bằng cách chạy lệnh git remote add origin. Nếu đã thêm kho từ xa, đảm bảo URL origin chính xác.
Cách thứ hai tránh lỗi là chạy lệnh git push trước khi cố push thay đổi. Điều này sẽ cho bạn sự đảm bảo kho cục bộ cập nhật với kho từ xa.
Cuối cùng, nếu vẫn gặp lỗi, có thể vì bạn đang cố push đến nhánh không tồn tại trên kho từ xa. Để khắc phục, bạn có thể tạo nhánh trên kho từ xa rồi đẩy thay đổi lên nó.
Kết luận
Nếu bạn gặp lỗi "fatal origin does not appear to be a git repository" trên macOS Catalina hoặc Sierra, có vài việc bạn có thể làm để khắc phục. Và hy vọng chúng tôi trình bày tất cả sửa lỗi theo cách tốt nhất.
Nếu có câu hỏi hoặc lo ngại, đừng ngần ngại gửi dòng cho chúng tôi. Chúng tôi vui lòng hỗ trợ. Cũng, nếu có vấn đề khác bạn muốn chúng tôi nói, hãy cho chúng tôi biết ở phần bình luận. Phần bình luận mở cho mọi thảo luận và gợi ý về khắc phục "fatal origin does not appear to be a git repository" trên macOS, thoải mái tham gia! Cuối cùng, nếu bạn thích bài viết, hãy chia sẻ với bạn bè để họ cũngได้ lợi!