Git Clone - Không tìm thấy kho lưu trữ


98
git clone <url>

cung cấp cho thông báo nghiêm trọng: không tìm thấy 'url' kho lưu trữ

Tôi đã thử các tùy chọn trong liên kết , nhưng nó không hoạt động.


chắc chắn url của bạn phải không hợp lệ ..
g-newa

2
nó là một repo riêng tư hay một repo công khai? - Nếu đúng, hãy thử và sử dụng địa chỉ HTTPS thay vì địa chỉ GIT. (Tôi hy vọng rằng bạn không làm gì @JohnZwinck nói ...)
appostolis

Nếu repo là công khai, bạn có thể chỉnh sửa câu hỏi của mình để thêm url tương ứng không?
joong0bs

Xin chào Jubos, đây là một repo riêng tư và tôi có quyền truy cập vào repo đó.
Tối đa

22
Tôi đã đối mặt với một tình huống tương tự. URL tôi đã sử dụng cho kho lưu trữ riêng tư của mình là chính xác. Nhưng tôi đã nhận được cùng một lỗi. Sau nhiều lần tìm hiểu, tôi thấy rằng trong chuỗi khóa (tôi đang sử dụng Mac Yosemite), mục nhập cho github.com có ​​mật khẩu cũ cho github. Tôi đã xóa mục nhập khỏi chuỗi khóa sau đó chạy lệnh git clone. Nó hỏi tên người dùng / mật khẩu github của tôi và wallah bản sao đã hoạt động!
Shirish Kumar

Câu trả lời:


27

Rất có thể, URL của bạn không hợp lệ.

Nếu đó là URL http / https, bạn có thể nhanh chóng kiểm tra bằng cách đưa URL vào trình duyệt. Nếu điều đó không hiển thị bất cứ điều gì, bạn biết rằng URL không hợp lệ.

Tôi giả sử bạn đang nói về một kho lưu trữ từ xa. Các URL sẽ trông giống như sau:

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

nó đang hiển thị đúng trên trình duyệt web nhưng không hoạt động khi tôi lấy bản sao
Chandni

311

Như đã đề cập bởi những người khác, lỗi có thể xảy ra nếu url sai.

Tuy nhiên, lỗi cũng có thể xảy ra nếu repo là repo riêng tư và bạn không có quyền truy cập hoặc thông tin đăng nhập sai.

Thay vì

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

thử

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


Bạn cũng có thể dùng

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

và git sẽ nhắc nhập mật khẩu (cảm ơn Leanne đã cung cấp gợi ý này trong phần bình luận).


2
Cảm ơn - điều đó rất hữu ích. Tôi chỉ gặp sự cố này trên một trong các hệ thống của mình nhưng không thể tìm ra lý do. Sử dụng phương pháp thứ 2 hoạt động, nhưng tôi tò mò tại sao và liệu tôi có cần tiếp tục sử dụng phương pháp này không? Điều gì sẽ gây ra sự cố với lệnh đầu tiên, nhưng không phải với lệnh thứ hai?
Levon

4
Trên Mac OS X, bạn có thể lưu trữ tên người dùng và mật khẩu trong Keychain (ví dụ: đối với GitHub). Sau đó, bạn không cần lệnh thứ hai. Nếu bạn không có bất kỳ điều gì như thế này, bạn cần lệnh thứ hai.
Christian Fries,

3
@CCJ, có: bạn có thể nhập mọi thứ vào lệnh ngoại trừ dấu :passwordvà git sẽ nhắc nhập mật khẩu. Ví dụ:git clone https://username@github.com/NAME/repo.git
leanne

1
@ChristianFries Sẽ thật tuyệt nếu bạn có thể cập nhật câu trả lời của mình để bao gồm tùy chọn hiển thị không có mật khẩu trong nhận xét của Leanne cho những người đọc trong tương lai.
John Pavek

1
@JohnPavek: Đã xong.
Christian Fries,

44

Trên macOS, có thể thông tin đăng nhập được lưu trong bộ nhớ cache trong Chuỗi khóa mà git đang truy xuất bị sai. Đó có thể là một mật khẩu đã lỗi thời hoặc sử dụng sai thông tin đăng nhập.

Để cập nhật thông tin đăng nhập được lưu trữ trong Chuỗi khóa OS X

Làm theo hướng dẫn tại:

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

Nếu bạn muốn xác minh đây là vấn đề, bạn có thể chạy clone với truy tìm.

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

Tìm dòng tiêu đề "Ủy quyền: BASE64STRING cơ bản".
Lấy chuỗi base64 và giải mã nó để kiểm tra tên người dùng: mật khẩu nào đã được sử dụng.

$ echo <the key> | base64 --decode

Xác minh rằng đó là mật khẩu tên người dùng phù hợp mà bạn muốn sử dụng.


Tôi thử điều này và nó cung cấp cho tôi tên người dùng / mật khẩu cho tài khoản khác của tôi . Tôi đoán tôi cần chỉ định tên người dùng ...
Nicolas Miari

GIT_CURL_VERBOSE = 1 này cực kỳ hữu ích - cảm ơn!
mistertee

Nếu bạn thấy tên người dùng / mật khẩu của mình không đúng, làm thế nào để sử dụng git khác?
toancaro

chuỗi khóa macos có thể lưu trữ nhiều thông tin đăng nhập github. Nếu bạn muốn chỉ định cái nào, username@vào url github. Ví dụ: https://username@github.com/foo/bar.gitSau đó, chuỗi khóa macos sẽ sử dụng mật khẩu đăng nhập chính xác.
khôn ngoan

21

Tôi cũng gặp vấn đề tương tự. Tôi đã cố gắng sao chép repo riêng tư và git của tôi được cài đặt trong osx có keychain không cho phép tôi sao chép repo ...

Tôi đã thử

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

nhưng nó không hoạt động vì mật khẩu của tôi chứa trường @.

Tôi vừa chạy

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

lệnh và nhấn enter và nó hoạt động hoàn toàn tốt. Trên thực tế, bạn cần xóa chuỗi khóa đã được lưu trữ trong osx.


20

Tôi đã gặp sự cố tương tự ( Repository not found) do ban đầu tôi đăng nhập bằng tài khoản GitHub không chính xác. Để sửa chữa nó:

  1. Mở Control Panel từ menu Start.
  2. Chọn Tài khoản Người dùng.
  3. Chọn "Quản lý thông tin đăng nhập của bạn" ở menu bên trái.
  4. Xóa bất kỳ thông tin đăng nhập nào liên quan đến Git hoặc GitHub.

1
Điều này giải quyết các vấn đề đối với tôi. Tôi có nhiều tài khoản github, vì vậy trong Windows, đôi khi thông tin xác thực git được lưu vào bộ nhớ đệm cho tài khoản khác bên trong trình quản lý thông tin đăng nhập windows. Xóa tài khoản đã lưu trong bộ nhớ cache cho phép vấn đề này được giải quyết.
Phần mềm Grizzly Peak

Tài khoản không chính xác này (tài khoản được lưu trong bộ nhớ cache) có thể không được phép xem kho lưu trữ, vì vậy Github / Gitlab trả về lỗi 404 Not Found.
mrdaliri

404 thay vì lỗi UnAuthorized. Thông báo lỗi này gây hiểu lầm. Cảm ơn bạn đã giúp đỡ. Nó cũng hoạt động cho tôi :)
Diallo

19

Cho tôi

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

đã làm việc.

Tôi nghĩ điều này chủ yếu xảy ra vì không thể truy cập trực tiếp repo Riêng tư.


18

Điều gì đã giải quyết được sự cố của tôi, vì tôi gặp lỗi "URL chuyển hướng / sign_in" hoặc "không tìm thấy kho lưu trữ"

Người dùng MacOS:

  1. Mở đèn chiếu (Command Space)
  2. Nhập chuỗi khóa (Mở keychain access.app)
  3. Tìm kiếm miền repo (GitHub, GitLab, v.v.)
  4. Xóa tất cả các khóa liên quan đến miền này
  5. Cố gắng sao chép lại (với thông tin đăng nhập hợp lệ)

Người dùng Windows nên thử các bước tương tự, nhưng Keychain sẽ là Trình quản lý thông tin đăng nhập của Microsoft hoặc Thông tin đăng nhập Windows tùy thuộc vào phiên bản hệ điều hành của bạn. Đảm bảo xóa cả thông tin đăng nhập web và cửa sổ nếu đúng như vậy.


Điều này có thể đã khắc phục sự cố của tôi, không hoàn toàn chắc chắn vì nó dường như không có tác dụng lúc đầu nhưng sau đó mà không thực hiện các thay đổi khác, tất cả bắt đầu hoạt động trở lại.
patrick.elmquist

nếu bạn có hai hoặc nhiều chuỗi khóa chứa tên gitlab và bạn không thể xóa tất cả cùng một lúc thì hãy thử xóa từng cái một. (xóa từng cái một và đóng phần chuỗi khóa và lặp lại cho lần tiếp theo)
Jitendra

Câu trả lời tốt nhất cho tôi. Tôi đã khắc phục bằng cách sử dụng các bước này, cảm ơn
Hardik Joshi

15

Nếu bạn đang sử dụng Windows, kho lưu trữ là riêng tư và các thông tin xác thực khác hoặc không còn chính xác đã được lưu một lần, bạn sẽ không có quyền truy cập vào kho lưu trữ. Bạn sẽ nhận được lỗi không tìm thấy nếu không có gợi ý về hướng không xác thực. Để đặt lại thông tin đăng nhập trên Windows, hãy mở Bảng điều khiển (điều khiển Win + r), chọn Tài khoản người dùng và Trình quản lý thông tin đăng nhập. Tìm tài khoản git trong thông tin đăng nhập Windows (không phải thông tin đăng nhập Web!) Và xóa mục nhập này.

Sau đó, nhân bản sẽ bật lên một hộp thoại đăng nhập và bạn có thể thiết lập lại những điều này.

Đã kiểm tra điều này với git-bash dưới dạng shell trong VSCode


bạn tuyệt vời, đã cứu mạng tôi
khan Farman

huyền thoại đã cứu sống tôi.
eli chen

9

Trên github, bạn có thể có kho lưu trữ chính và các thư mục con. Đảm bảo rằng URL mà bạn đang sử dụng là của kho lưu trữ chính chứ không phải của một thư mục. Cái trước sẽ thành công và cái sau sẽ tạo ra lỗi không tìm thấy kho lưu trữ. Nếu bạn nghi ngờ mình đang ở trong một thư mục con, hãy điều hướng lên chuỗi kho lưu trữ cho đến khi bạn tìm thấy một trang thực sự chỉ định URL https và sử dụng trang đó.


1
Đây là vấn đề của tôi. Nếu bạn đã có cấp độ phù hợp thì bạn sẽ thấy Clone or Downloadnút trên trang github cho URL. Nếu nó không có ở đó, thì bạn không thể sao chép nó.
Stephen Hosking

9

Nếu bạn đang sử dụng ủy quyền hai yếu tố (2FA) cho tài khoản Github của mình thì chỉ cần sử dụng tùy chọn SSH để sao chép kho lưu trữ của bạn:

nhập mô tả hình ảnh ở đây


7

git clone https://username@github.com/User/Repository.git sẽ nhắc nhập mật khẩu rồi sao chép.


4

Điều này đang xảy ra do trạng thái phiên cũ của người dùng khác của tôi vẫn còn: Dưới đây là giải pháp nhanh cho người dùng Windows,

Mở Bảng điều khiển từ menu Bắt đầu Chọn Tài khoản Người dùng Chọn "Quản lý thông tin đăng nhập của bạn" ở menu bên trái Xóa mọi thông tin đăng nhập liên quan đến Git hoặc GitHub

Một khi tôi đã làm điều này, nó bắt đầu hiệu quả với tôi.


4

Sự cố này bắt đầu xuất hiện trên thiết bị đầu cuối của tôi sau khi tôi bật GitHub 2FA .

Bây giờ, tôi phải đối mặt với vấn đề này bất cứ khi nào tôi sao chép một kho lưu trữ riêng tư. Lỗi này:

từ xa: Không tìm thấy kho lưu trữ.
Fat: repository ' https://github.com/kmario23/repo-name.git/ ' không tìm thấy

thật là khó xử. Tất nhiên, tôi có repo này và tôi là chủ sở hữu của nó.

Dù sao, có vẻ như cách khắc phục là bây giờ chúng ta phải vào GitHub usernamemột lần nữa khi sao chép repo riêng tư. Dưới đây là một ví dụ:

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

2
Đã giải quyết vấn đề của tôi
Cảm ơn


0

Bạn có thể cần tạo một tệp trống có tên git-daemon-export-oktrong thư mục kho lưu trữ.


0

Nếu bạn đang sử dụng cygwin cho git và cố gắng sao chép kho lưu trữ git từ ổ đĩa mạng, bạn cần thêm đường dẫn cygdrive.

Ví dụ: nếu bạn đang sao chép git repo từ z: /

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


0

Vấn đề xác thực: Tôi sử dụng công cụ TortoiseGit GUI, tôi cần cho rùa biết tên người dùng và mật khẩu để nó có thể truy cập hoạt động với cơ sở mã Git / GitHub / Gitlab. Để nói điều đó, hãy nhấp vào bên trong bất kỳ thư mục nào để nhận menu TortoiseGit. Tại đây TortoseGit> Cửa sổ Cài đặt> Chọn Thông tin đăng nhập ở cây điều hướng bên trái Nhập URL: url Git Người trợ giúp: Chọn cửa sổ nếu thông tin đăng nhập cửa sổ của bạn giống với thông tin đăng nhập dành cho Git hoặc 'manager' nếu chúng là userName khác nhau; Tên người dùng Git Lưu cài đặt này rồi thử lại. Bạn sẽ được nhắc nhập mật khẩu và sau đó nó hoạt động.


0

Tôi là một kỹ sư devops và điều này xảy ra với các kho riêng. Vì tôi quản lý nhiều tổ chức Github nên tôi có một số khóa SSH khác nhau. Để khắc phục ERROR: Repository not found. fatal: Could not read from remote repository.lỗi này , bạn có thể sử dụng

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

Có thể bạn đã đăng nhập vào một tài khoản khác và tài khoản đó không có quyền truy cập vào repo này, nếu bạn đang sử dụng mac os, hãy truy cập Keychain Access, tìm kiếm gitlab.com và xóa nó và thử git clone lại.


0

Trong trường hợp của tôi. kho lưu trữ là riêng tư, tôi không thể truy cập trực tiếp. Đang trên đường sử dụng ứng dụng Github Desktop để tải kho lưu trữ này.


0

Bạn nên kiểm tra xem bạn có bất kỳ tài khoản github nào khác được đánh dấu là "mặc định" hay không. Khi cố gắng sao chép một repo mới, ứng dụng khách (trong trường hợp của tôi là BitBucket) sẽ cố gắng lấy thông tin đăng nhập mà bạn đã đặt "làm mặc định". Chỉ cần đánh dấu thông tin đăng nhập mới của bạn "là mặc định" và nó sẽ cho phép bạn sao chép repo, nó đã làm việc cho tôi.


0

Một lý do khác cho lỗi này, nếu bạn đang sử dụng github và cố gắng sử dụng các khóa triển khai cho nhiều repo, bạn sẽ thấy điều này không hoạt động.

Trong trường hợp đó, bạn cần tạo một người dùng máy , tuy nhiên nếu bạn không tạo và cố gắng sao chép bất kỳ repo nào ngoài repo có khóa triển khai, bạn sẽ gặp phải lỗi này.


0

Đối với tôi, sự cố xảy ra vì tôi đã lưu cài đặt tên người dùng / mật khẩu cũ cho gitlab, vì vậy tôi cần xóa các thông tin đăng nhập đó. Tôi chạy lệnh sau trên máy mac của mình:

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

và thực hiện nhân bản một lần nữa, nhập tên người dùng và mật khẩu. Và mọi thứ đều ổn.


-3

mở Trình quản lý thông tin xác thực -> tìm hồ sơ nhà phát triển GIT của bạn -> nhấp vào nó -> chỉnh sửa -> thêm người dùng và mật khẩu được tạo trong DevOps và lưu.


1
OP chưa bao giờ tuyên bố sử dụng DevOps.
Neville
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.