Computer >> Máy Tính >  >> Xử lý sự cố >> bảo trì máy tính

Cách sửa lỗi "Fatal:Origin dường như không phải là Git Repository" Lỗi

Git là một hệ thống kiểm soát phiên bản phân tán được sử dụng chủ yếu để theo dõi các thay đổi trong mã nguồn trong khi phát triển phần mềm. GitHub là một dịch vụ lưu trữ trực tuyến để kiểm soát phiên bản dựa trên Git. Cả hai dịch vụ này đều được sử dụng rộng rãi trong phát triển phần mềm. Tuy nhiên, gần đây đã có nhiều báo cáo về việc người dùng không thể thực hiện các lệnh “git”.

Bạn không cô đơn. Bạn nghĩ rằng bạn đã thành thạo quy trình làm việc của Git cho đến khi bạn gặp phải một lỗi mà bạn chưa từng thấy trước đây. Hầu như không thể tránh khỏi việc bạn gặp phải các thông báo lỗi khó hiểu và đôi khi đáng sợ khi làm việc với Git, vì vậy điều đầu tiên cần nhớ là những người dùng Git khác có thể liên quan đến hoàn cảnh của bạn.

Người dùng Git không lạ gì Git Fatal:‘Origin’ gây khó chịu này dường như không phải là kho lưu trữ git lỗi. Và việc tìm ra nguyên nhân gốc rễ có thể khó khăn nếu bạn không biết tìm ở đâu. Tuy nhiên, trước khi từ bỏ Git, bạn có thể nhanh chóng tìm hiểu nguyên nhân gây ra lỗi này, cách chẩn đoán và cách tránh nó trong tương lai.

Mẹo chuyên nghiệp:Quét máy Mac của bạn để tìm các vấn đề về hiệu suất, tệp rác, ứng dụng có hại và các 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.

Fatal:‘Origin’ là gì dường như không phải là kho lưu trữ git Vấn đề?

Lệnh git init bắt đầu tạo một kho lưu trữ Git mới. Lệnh này chỉ đơn giản là thiết lập một thư mục làm kho lưu trữ Git. Nó không kết nối một kho lưu trữ này với một kho lưu trữ khác.

Mặt khác, lệnh git clone kết nối kho lưu trữ cục bộ với kho lưu trữ từ xa. Điều này là do Git biết mã nguồn của dự án bắt nguồn từ đâu và sử dụng vị trí bạn đã sao chép để dự đoán nơi bạn sẽ thực hiện các cam kết.

Khi bạn tạo một kho lưu trữ mới và cố gắng cam kết mã mà không hướng dẫn Git trước về vị trí mã sẽ được đẩy, bạn sẽ nhận được lỗi “nghiêm trọng:‘ origin ’dường như không phải là một kho lưu trữ git”.

Kho lưu trữ Git là gì?

Kho lưu trữ GIT chứa một tập hợp các tệp từ các phiên bản khác nhau của một dự án. Các tệp này được nhập từ kho lưu trữ vào máy chủ cục bộ của người dùng để cập nhật và sửa đổi thêm nội dung của tệp. VCS, hoặc Hệ thống kiểm soát phiên bản, được sử dụng để tạo các phiên bản này và lưu chúng vào một vị trí được gọi là kho lưu trữ. Sao chép là quá trình sao chép nội dung từ kho lưu trữ Git hiện có bằng cách sử dụng các công cụ Git khác nhau.

Khi quá trình nhân bản hoàn tất, người dùng nhận được toàn bộ kho lưu trữ trên máy cục bộ của mình. Khi quá trình nhân bản hoàn tất, Git giả định rằng tất cả công việc trong tương lai trên kho lưu trữ sẽ được thực hiện với tư cách người dùng. Người dùng cũng có thể tạo kho mới hoặc xóa các kho hiện có. Cách đơn giản nhất để xóa kho lưu trữ là chỉ cần xóa thư mục của kho lưu trữ.

Khi làm việc với các kho lưu trữ Git, về cơ bản bạn đang làm việc với các thư mục đã được cấu hình thành các dự án Git. Git có thể được sử dụng để tạo hầu hết mọi thư mục trên máy tính cục bộ của bạn hoặc trên máy chủ từ xa.

Để chẩn đoán chính xác lý do tại sao dự án Git của bạn không chấp nhận lệnh hoặc lý do tại sao các kho lưu trữ từ xa của bạn không được nhận dạng, trước tiên bạn phải hiểu Git tìm kiếm gì khi cố gắng tương tác với một kho lưu trữ.

Bất kỳ thư mục nào, cục bộ hoặc từ xa, đều phải được khởi tạo bằng Git, có nghĩa là bạn phải chạy lệnh sau: git init

Nếu bạn chạy lệnh này trong một thư mục cục bộ, thư mục đó sẽ được chuyển đổi thành một kho lưu trữ Git. Một thông báo thành công sẽ xuất hiện, cho biết rằng lệnh đã thành công. Bạn cũng sẽ nhận thấy rằng mọi kho lưu trữ Git đều có thư mục .git nơi các tệp quan trọng và các điểm tham chiếu được lưu.

Mặt khác, theo thói quen sử dụng –bare tùy chọn khi khởi tạo kho lưu trữ từ xa: git init –bare

Điều này tạo ra một kho lưu trữ “trống”, về cơ bản là một thư mục trống đã được khởi tạo bằng Git và có khả năng nhận và chạy các lệnh Git được gửi đến nó. Kho lưu trữ trần là một “trung tâm” tuyệt vời mà từ đó một hoặc nhiều người dùng Git có thể sao chép, đẩy và kéo một dự án.

Kho lưu trữ Git không được tự động liên kết với kho lưu trữ từ xa. Bạn sẽ nhận được lỗi “nghiêm trọng:‘ origin ’dường như không phải là một kho lưu trữ git” nếu bạn cố gắng đẩy các thay đổi vào một kho lưu trữ từ xa mà không chỉ định vị trí của nó trước.

Nguyên nhân nào khiến "Nguồn gốc" gây tử vong dường như không phải là kho lưu trữ git Lỗi?

Khi bạn cố gắng sao chép hoặc chạy các lệnh khác trong một thư mục không được công nhận là kho lưu trữ Git, lỗi “death:‘ origin ’dường như không phải là kho lưu trữ git” xảy ra. Có thể thư mục hoặc đường dẫn tệp từ xa không khởi tạo Git hoặc đường dẫn tệp bạn đang cố gắng truy cập như một kho lưu trữ đang hoạt động không chính xác. Dưới đây là các yếu tố gây ra lỗi này:

  • Thiếu xuất xứ:Lỗi này xảy ra khi thiếu trường "Xuất xứ". Một số lệnh không hoạt động bình thường nếu thiếu tham chiếu đến “Github-Fork”.
  • URL không chính xác:Trong một số trường hợp, cấu hình URL do ứng dụng đặt có thể không chính xác và phải được thay đổi. Do đó, một số lệnh có thể hoạt động không bình thường.

Về cơ bản, Git chỉ ra rằng kho lưu trữ mà bạn đang cố gắng làm việc không thể nhận dạng được là một dự án Git. Đây là lý do tại sao, nếu bạn tin rằng bạn đã thiết lập mọi thứ chính xác, thì lỗi có thể khiến bạn bực bội. Nhưng đừng lo lắng, một lỗi đánh máy đơn giản có thể đã gây ra lỗi.

Bây giờ chúng ta sẽ đi đến các giải pháp để bạn có hiểu biết cơ bản về bản chất của vấn đề. Tiếp tục đọc để tìm hiểu những gì bạn có thể làm để chẩn đoán và điều trị lỗi này.

Cách khắc phục sự cố Fatal:‘Origin / Master’ dường như không phải là kho lưu trữ git ’ Lỗi

Bạn có thể khó chịu khi gặp lỗi này vì nó gây phiền hà và tốn thời gian. Một cách để tránh các trục trặc như “nguồn gốc nghiêm trọng dường như không phải là kho lưu trữ git” xảy ra là quét thiết bị của bạn thường xuyên bằng Outbyte MacAries. Công cụ này ngăn không cho các vấn đề nhỏ hình thành và biến thành hỗn loạn hoàn toàn.

Nhưng nếu bạn gặp phải lỗi này, các bước sau sẽ dễ dàng giải quyết cho bạn:

Khắc phục # 1:Thêm nguồn gốc.

Khi bạn cố gắng cam kết với một kho lưu trữ git mới được tạo bằng lệnh git init, bạn sẽ nhận được lỗi “Fatal:‘ origin ’dường như không phải là một kho lưu trữ git”. Điều này là do git init không liên kết kho lưu trữ cục bộ với kho lưu trữ từ xa. Bạn có thể kiểm tra điều này bằng cách nhập: git remote -v

Nếu không có kho lưu trữ từ xa được gọi là origin , bạn nên thêm thủ công bằng cách làm theo giải pháp bên dưới.

  1. Nhấn vào “ Command ”Và“ Khoảng trắng ”Cùng một lúc. Thao tác này sẽ mở Spotlight.
  2. Nhập “ Terminal ”Và nhấn“ Quay lại . ”
  3. Nhập lệnh sau và nhấn nút “ Quay lại ”Key: git remote -v
  4. Kiểm tra xem liệu một kho lưu trữ từ xa có tên là “ Nguồn gốc ”Được liệt kê.
  5. Nếu không có, điều đó có nghĩa là "Nguồn gốc" của bạn bị thiếu.
  6. Sử dụng lệnh sau để thêm Origin: git từ xa thêm url origin / to / your / fork

Kiểm tra xem sự cố còn tồn tại hay không.

Khắc phục # 2:Kiểm tra đường dẫn tệp của kho lưu trữ từ xa của bạn.

Khi cố gắng sao chép, đẩy hoặc kéo nội dung từ một kho lưu trữ từ xa, người dùng Git sẽ thường xuyên gặp phải lỗi "nguồn gốc dường như không phải là lỗi nghiêm trọng của kho lưu trữ git". Đảm bảo kiểm tra kỹ đường dẫn tệp của kho lưu trữ từ xa. Có một số cách tiếp cận để giải quyết vấn đề này.

Nếu bạn đang nhân bản, hãy kiểm tra kỹ xem bạn có quyền truy cập kho lưu trữ cần thiết hay không. Trừ khi bạn đang sao chép một kho lưu trữ công khai trên GitHub, nếu không, bạn có thể đang kết nối qua SSH. Tương tự, bạn nên kiểm tra cú pháp của lệnh sao chép của mình. Dưới đây là ví dụ về lệnh sao chép cơ bản kết nối với kho lưu trữ qua HTTP: git clone https://github.com/WordPress/WordPress.git

Khi bạn chạy lệnh này trong trình mô phỏng thiết bị đầu cuối ưa thích của mình, nó sẽ tạo một thư mục có tên “WordPress” chứa tất cả các tệp cốt lõi của WordPress. Nó cũng sẽ bao gồm thư mục .git và toàn bộ lịch sử dự án. Do đó, thư mục này sẽ là một kho lưu trữ git cục bộ đầy đủ chức năng. Nó cũng sẽ có thông tin về kho lưu trữ từ xa (tại GitHub) được thiết lập đúng cách.

Tuy nhiên, nếu bạn đang giao tiếp với một máy chủ riêng không có quyền truy cập HTTP, bạn phải sửa đổi cú pháp này để bao gồm một người dùng máy chủ có các đặc quyền thích hợp. Đây là lý do tại sao khi định cấu hình máy chủ Git riêng tư, bạn nên tạo một người dùng “Git” đặc biệt có quyền truy cập vào kho: git clone admin@wsxdn.com:/home/user/production.git >

Không giống như biến thể HTTP từ GitHub, URL sao chép này bao gồm admin@wsxdn.com Trong trường hợp này, “người dùng” là người dùng máy chủ có quyền truy cập và đặc quyền vào kho lưu trữ Git của máy chủ. Tên máy chủ, tên miền hoặc địa chỉ IP của máy chủ mà bạn đang cố gắng liên hệ là đích. Khai báo người dùng và máy chủ được phân tách khỏi đường dẫn tệp bằng dấu hai chấm (:).

Đường dẫn tệp rất quan trọng trong trường hợp này. Vị trí và tên chính xác của kho lưu trữ của bạn được biểu thị bằng đường dẫn tệp. Kho lưu trữ trong ví dụ trước là một thư mục có tên production.git.

Luôn sử dụng phần mở rộng .git cho thư mục kho lưu trữ của bạn. Thư mục production.git nằm trong thư mục chính của người dùng, là / home / user.

Bạn phải sao chép chính xác cú pháp này nếu không bạn sẽ nhận được lỗi “nghiêm trọng:‘ origin ’dường như không phải là một kho lưu trữ git”.

Khắc phục # 3:Thay đổi nguồn gốc thành Master.

Nếu bạn đang cố gắng lấy từ Master, trước tiên bạn phải thay đổi nguồn gốc thành Master trước khi cố gắng thêm hoặc xóa kho lưu trữ từ xa. Do đó, trong bước này, chúng ta sẽ thay đổi Origin thành Master. Để làm điều này:

  1. Nhấn vào “ Command ”Và“ Khoảng trắng ”Cùng một lúc. Thao tác này sẽ mở Spotlight.
  2. Nhập “ Terminal ”Và nhấn“ Quay lại . ”
  3. Nhập lệnh tại đây để thay đổi Nguồn gốc thành bản gốc: git pull origin master

Kiểm tra xem sự cố “nghiêm trọng:‘ origin ’có phải là kho lưu trữ git không” đã biến mất hay chưa.

Khắc phục # 4:Sửa tệp HEAD bị hỏng.

Nếu các bước khắc phục sự cố ở trên không giải quyết được sự cố của bạn, bạn có thể gặp sự cố với tệp HEAD. Tệp này chứa một dòng đóng vai trò là một con trỏ đến nhánh hiện tại của bạn.

Nếu bạn chưa quen với Git, thuật ngữ “chi nhánh” cũng có thể không quen thuộc với bạn. Chi nhánh là một phiên bản của kho lưu trữ của bạn mà bạn có thể sử dụng để kiểm tra các thay đổi của dự án. Mỗi kho lưu trữ đều có một nhánh chính đóng vai trò là nguồn chân lý và phải là phiên bản được triển khai trong quá trình sản xuất. Nếu bạn muốn thực hiện thay đổi đối với nhánh chính, bạn có thể tạo một phiên bản riêng của dự án hoặc nhánh của mình để kiểm tra các thay đổi. Git sẽ cập nhật tệp HEAD để phản ánh nhánh làm việc hiện tại của bạn khi bạn tạo một nhánh mới.

Tuy nhiên, tệp HEAD có thể bị hỏng trong một số trường hợp, dẫn đến Fatal:‘Origin’ dường như không phải là Git Repository lỗi. Để kiểm tra tệp HEAD, bạn có thể sử dụng cat .git / HEAD lệnh in nội dung.

Khi bạn chạy lệnh này, bạn sẽ thấy tên của chi nhánh hiện tại của bạn. Nếu nó không bao gồm chi nhánh hiện tại mà bạn đang làm việc, bạn phải cập nhật tệp. Bạn có thể làm như vậy bằng cách nhập lệnh sau: echo ‘ref:refs / heads / ’> .git / HEAD

Kết thúc

Bạn không cần phải căng thẳng khi gặp phải Fatal:‘Origin’ dường như không phải là lỗi của Git Repository. Nếu bạn gặp sự cố này, hãy nhớ rằng Git đang cố gắng thông báo cho bạn rằng thư mục làm việc hiện tại của bạn không được theo dõi, vì vậy hãy làm theo các bước cơ bản được nêu trong bài viết này, được tóm tắt bên dưới:

  • Thêm nguồn gốc theo cách thủ công.
  • Kiểm tra xem bạn đã nhập đúng tên thư mục chưa.
  • Kiểm tra xem bạn đã tạo chính xác kho lưu trữ chưa. Nếu thư mục thiếu kho lưu trữ .git, hãy sử dụng git init để khởi tạo đúng cách hệ thống lưu trữ hoặc sao chép một hệ thống lưu trữ hiện có.
  • Kiểm tra xem tệp HEAD của bạn trên chi nhánh hiện tại của bạn có chứa thông tin chính xác hay không. Nếu không, hãy thay đổi nội dung của tệp thành ref:refs / heads /

Thực hiện theo các bước khắc phục sự cố được nêu ở trên sẽ cho phép bạn giải quyết lỗi trong hầu hết mọi trường hợp chỉ trong vài phút.