簡體   English   中英

Git - 遠程:找不到存儲庫

[英]Git - remote: Repository not found

我有帶有本地工作副本的 SourceTree。 所有操作都運行良好,我可以通過 SourceTree 進行簡單的獲取、推送、拉取等操作。 我只需要進行 SourceTree 中不存在的強制推送。

我打開終端 git push -f

remote: Repository not found.
fatal: repository 'https://github.com/MyRepo/project.git/' not found

我不確定什么是問題。

從系統中刪除所有github.com憑據詳細信息。

對於蘋果

從 Keychain Access 中刪除 github.com 密碼。

對於窗戶

從憑據管理器中刪除憑據。

請在下面找到適用於 Windows 的工作解決方案:

  1. 從開始菜單打開控制面板。
  2. 選擇用戶帳戶。
  3. 選擇“憑據管理器”。
  4. 單擊“管理 Windows 憑據”。
  5. 刪除與 Git 或 GitHub 相關的任何憑據。
  6. 全部刪除后,再次嘗試克隆。

在此處輸入圖像描述

我也面臨同樣的問題

remote: Repository not found
fatal: repository 'https://github.com/MyRepo/project.git/' not found

我卸載了 git 憑據管理器並重新安裝它,然后我可以輕松地拉取並推送到存儲庫。 這是命令

$ git credential-manager uninstall

$ git credential-manager install

找到存儲庫時可能會出現此消息,但我們沒有提交訪問權限。 措辭不好!

在克隆了老板為我創建的 gitHub 存儲庫后,我收到了 repo-not-found 消息。 我可以在本地克隆和提交,但不能向上游推送提交。 存儲庫所有者沒有給我寫權限。 通過請求對 repo 所有者的寫訪問權來解決。

因為您可能沒有首先識別終端的遠程 git 存儲庫。

git remote set-url origin https://github.com/MyRepo/project.git

接着,

git add .
git commit -m "initial commit"
git push origin master

這里的問題是您的本地 git 無法將更改推送到遠程檢查您的遠程設置是否正確

git remote -v

如果未正確設置,請嘗試將遙控器設置為

git remote set-url origin https://username@github.com/MyRepo/project.git

然后嘗試使用

git push -u origin master

此外,您的本地 git 可能具有不同的憑據,請也檢查一下。

在 Windows 上:

  1. 轉到 .git 文件夾
  2. 使用記事本或任何其他編輯器打開“配置”文件
  3. 將您的 URL 從 https://github.com/username/repo_name.git 更改為 https://username:password@github.com/username/repo_name.git

保存並推送代碼,它將起作用。

添加“個人訪問令牌”

由於自 2021 年以來 Github 支持PAT而不是名稱/密碼( 在此處閱讀如何創建和使用一個),因此我們只需將其添加到遠程origin中。

在 Windows 上

  1. 訪問.git文件夾並打開config文件進行編輯。 例如。 vim config
  2. 更改您的網址
    https://github.com/<username>/<repo_name>.git

    https://[personal-access-token]@github.com/<username>/<repo_name>.git
    其中[personal-access-token]您在 github 創建的 PAT 哈希
  3. 保存config文件,現在推送應該可以工作了。

捷徑:

git remote remove origin
git remote add origin https://[personal-access-token]@github.com/username/repo_name.git

更新

生成令牌時,如果您希望它長時間工作,請選擇無過期 在此處輸入圖像描述

在 Mac 上

如果您嘗試克隆 repo.... 那么可能會出現此問題,因為Keychain Access中的 github 帳戶中沒有 repo。 為了解決,請嘗試使用帳戶名進行克隆,例如

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

代替

  • username 與您的 GitHub 用戶名
  • org 與您的組織名稱
  • 帶有存儲庫名稱的存儲庫
  • 如果您沒有寫入權限但只有讀取權限,則可能會發生。

  • 如果它是私有存儲庫,則應將您添加協作者

  • 檢查您的憑據是否正確

Git 實際上不會說這些事情,它只會說使用您的憑據沒有找到 repo。

祝你好運。

對於 Linux 用戶:

git remote rm origin

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

對於 Mac

打開 KeyChain Access 並在密碼類別中找到您的 pssword 帳戶(您可以在右上角的鑰匙串訪問頁面上搜索它)

當你找到它時,刪除與你的 git 源代碼控制相關的所有鍵。 再試一次

在此處輸入圖像描述

就我而言,上述解決方案均無效。

我通過將remote.origin.urlhttps切換到ssh解決了這個問題:

驗證 git 配置:

git config --list

應該是這樣的:

...
remote.origin.url=https://github.com/ORG/repo-name.git
...

使用要使用的ssh更新remote.origin.url

git remote set-url origin git@github.com:ORG/repo-name.git

這里的問題是 Windows 憑據管理器,請轉到控制面板並搜索憑據管理器並刪除它關於 github 的所有內容

您之前可能使用其他一些 GitHub 憑據登錄。 這正是發生此錯誤的原因。

通常,mac 會將您的 GitHub 憑證存儲到鑰匙串訪問工具中。 您以前的 git 帳戶詳細信息在那里。 因此,它與您當前在其他帳戶中的 git 存儲庫不匹配。

解決方案簡單明了,

  1. 轉到您的 Mac 中的鑰匙串訪問。
  2. 在類別下的左側,您可以找到所有項目。 點擊那個。
  3. 右側頂部搜索“git”。
  4. 你會得到一些關於 Github 的項目。
  5. 刪除所有這些項目。

就是這樣,給你。

再次嘗試推動。 它會詢問你 git 用戶名和密碼。 您的新憑據將再次存儲在鑰匙串中,您的推送將完成。

歡呼!

如果您需要更多幫助,請回復我。

謝謝

在我們的案例中,這只是在 github 中授予寫入權限的案例。 最初,用戶只有讀取權限,它給出了這個錯誤。

雖然之前的回復提供了各種解決方案,但我發現其中最簡單的一個是將用戶名添加到存儲庫的 URL

git remote add origin https://your-username@github.com/your-username/repository-name.git

如果您已經定義了存儲庫(不添加用戶名),您可以按如下方式更新它,

git remote set-url origin https://your-username@github.com/your-username/respository-name.git

推送到遠程存儲庫時,git 不會從憑證助手中提取任何其他現有存儲庫的憑證,但會詢問用戶/存儲庫的特定密碼。

作為一般說明,我會不惜一切代價避免使用您的帳戶密碼,而是使用個人訪問令牌。 登錄github並選擇,

Settings > Developer Settings > Personal Access Tokens > Generate new token

只需確保在定義令牌的范圍時檢查repo ,並在要求輸入密碼時輸入令牌(而不是您的個人密碼)。

在我的 repo 上設置 2FA 后,我遇到了同樣的問題。 如果您最近在您的帳戶上設置了 2FA,我采取了以下措施來解決它:

生成個人訪問令牌

轉到您的 GitHub 帳戶上的設置 -> 開發人員設置 -> 個人訪問令牌 生成新的個人訪問令牌。 確保檢查所有與 repo-access 相關的權限。

刪除所有 GitHub 身份驗證配置(來自 Mac 的鑰匙串)

您需要使用生成的個人訪問令牌重新登錄,因此請從您的筆記本電腦中清除所有以前的身份驗證詳細信息。 對於 Mac,打開鑰匙串並從登錄/密碼部分刪除所有與 github.com 相關的詳細信息。

使用您的 GitHub 用戶名和 PAT 作為密碼登錄到您的終端。

如果您在您的帳戶上設置了 2FA,您將無法從終端使用您的 GitHub 密碼進行身份驗證。 現在,嘗試推送到 GitHub 存儲庫以觸發身份驗證需求。 輸入您的 GitHub 用戶名的請求將在您的終端上彈出。 輸入您的用戶名,當提示輸入密碼時,使用生成的個人訪問令牌作為密碼。

這些確切的步驟為我解決了這個問題。

我嘗試了一切,直到我意識到存儲庫所有者只給了我READ 權限,所以 Git 會拋出“remote: Repository not found”。

就我而言,由於用戶錯誤,我無法克隆 github。

轉到~/.gitconfig然后嘗試刪除這行代碼(只需刪除它然后保存文件)。

[user]
    name = youruser
    email = youruser@domain.com

或嘗試在您的 cmd 或終端中使用一個襯墊: git config --global --remove-section user

並嘗試再次執行 git clone。 希望它會解決你的一天。 ><

禁用 GIT 憑據對我有幫助:

git config --global --unset credential.helper

解決方案 -

問題 -

$ git clone https://github.com/abc/def.git
Cloning into 'def'...
remote: Repository not found.
fatal: repository 'https://github.com/abc/def.git/' not found

解決辦法——卸載憑證管理器——

abc@DESKTOP-4B77L5B MINGW64 /c/xampp/htdocs
$ git credential-manager uninstall

abc@DESKTOP-4B77L5B MINGW64 /c/xampp/htdocs
$ git credential-manager install

有用....

我面臨同樣的問題並通過解決

git add .

git commit -m "message"

git remote set-url origin https://YOUR_GITHUB_USER@github.com/aceofwings/RotairERP.git

然后

git pull

有時會在您的 PC 上設置 ssh 憑據以與 github 存儲庫進行通信。 當你設置新的 repo 時:如果你以 https 格式添加 origin你的 git 憑證管理器無法找出 repo。

檢查原產地格式

git remote -v

https格式的來源

origin  https://github.com/username/repo_name.git

ssh 格式的來源

origin git@github.com:username/repo_name.git

以 https 格式刪除來源

git remote remove origin

以 ssh 格式添加源

git remote add origin git@github.com:username/repo_name.git

如果您正在使用訪問密鑰,請在創建訪問密鑰時提供適當的權限(我嘗試了所有權限並且它有效)

我使用gh命令行工具(順便說一句,這很棒)

就我而言,我登錄了另一個 github 帳戶。 我只需要運行:

gh auth logout
gh auth login

然后使用正確的帳戶完成身份驗證流程。

您可能正在嘗試推送到私有存儲庫。 在這種情況下,您必須要求管理員驗證協作者訪問權限。

所以您的網址目前如下所示

https://github.com/RevanthM/Log_Monitoring

它需要看起來像這樣

https://RevanthM@github.com/RevanthM/Log_Monitoring

不同之處在於網址的開頭我添加了我的 github 用戶名,后跟 @ 符號。

如果您在 windows 上必須控制面板 - > windows Credentials然后從通用憑據選項中刪除 github 憑據。 然后嘗試克隆

執行git remote update對我有用。

我在VS 代碼中遇到了這個錯誤,因為我使用的是 VS 代碼git extension 它將我的 git 憑據保存在 Linux 密鑰環上。 雖然我想從另一個可以訪問存儲庫的帳戶中提取 最簡單的解決方案是打開 Linux shell(不是集成在 VS 代碼中的那個),然后運行:

git pull origin master

這一次,它會詢問你Github的用戶名和密碼。

您必須生成一個新令牌:這里的步驟https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-令牌

在本地刪除原點控制

 git remote remove origin

再次添加它,但現在使用您生成的令牌

git remote add origin https: // <token> @ <git_url> .git

並推動它

git pull https://@<git_url>.git

筆記:

什么是 git_url? 是您當前項目示例的 url: github.com/yourUser/yourProy

並刪除<>字符

這可能是身份驗證的問題。 SourceTree 緩存您的 github 憑據(用於通過 https 訪問存儲庫),但從終端您必須使用憑據配置 git( https://help.github.com/articles/creating-an-access-token-for -command-line-use/ )或使用 git+ssh 和 ssh 密鑰對( https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the -ssh-agent/ )。

我在我的 Windows10 系統中遇到了同樣的問題。

這里的問題是您在系統中擁有的用戶名。 您可以使用解決它

git credential-manager uninstall

git credential-manager install

如果它不起作用,那么您必須在您的系統中安裝ubuntu ,該系統可在 App Store 獲得。

在那個 ubuntu 終端中,我強制推送存儲庫,並且在詢問我Username and Password強文本后它起作用了

我有其他現有的 github 存儲庫,但我錯誤地認為我可以使用 git 命令創建存儲庫。 我認為我的問題是沒有個人訪問令牌,但我仍然無法使用以下命令推送來創建我的存儲庫。

git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/username/project.git
git push -u origin main

我不斷得到:

remote: Repository not found.
fatal: repository 'https://github.com/username/project.git/' not found

作為回應

git push -u origin main

但是,我發現需要在登錄我的帳戶后使用 github cli 或在他們的 github 站點上創建存儲庫。 一旦我這樣做了,一切都像一個魅力。

下面是我發現無法使用 git 命令創建 github 存儲庫的鏈接。

https://docs.github.com/en/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-an-existing-project-to-github-using-命令行

我試圖克隆一個 repo 並遇到了這個問題,之后我嘗試從windows credentials manager中刪除所有與 git 相關的憑據,同時嘗試克隆 git 時詢問我的憑據並且失敗並出現錯誤invalid username or password 發生這種情況是因為我試圖克隆的 repo 位於 github 上的一個組織下,並且該組織啟用了兩個因素身份驗證,而 git bash 可能不知道如何處理 2fa。 因此,我從https://github.com/settings/tokens生成了一個令牌,並在嘗試克隆存儲庫時使用了 github 令牌而不是密碼,這很有效。

就我而言,我需要使用Ctrl + H打開 Linux 上的目錄以查看隱藏的文檔,因此我進入 Git 配置並取出 URL 中的.git

在ubuntu上,我遇到了這個問題。 我通過在下面運行此命令來重置憑據幫助程序來解決此問題。

git config credential.helper "" 

運行此命令后,當您拉或推時,您將被要求再次輸入您的憑據。

我通過刪除.git文件(隱藏文件夾)然后再次上傳來解決它。

我遇到了同樣的問題,發現我在~/.ssh中有另一個密鑰文件,用於不同的 GitHub 存儲庫。 不知何故,它被用來代替新的。

檢查 url s.source 是否正確。

我的例子

// fail Project>>t<<est

s.source = { :git => '.../Projecttest-iOS', :tag => s.version.to_s }

// success    Project>>T<<est
s.source = { :git => '.../ProjectTest-iOS', :tag => s.version.to_s }

對於我的團隊來說,這是一個權限問題。 在 GitHub 設置中,我們團隊中的所有成員都將其設置為閱讀模式。 一旦我們將下拉菜單更改為寫入,我們都能夠成功克隆和推回。

如果您使用的是 Git 桌面應用程序,那么您應該嘗試推送和拉取表單 git 桌面應用程序而不是終端。 它會幫助你。

我看到了這個致命的:由於人們嘗試從免費層上的私人 GitHub 帳戶推送和拉取,現在更頻繁地發現存儲庫未找到錯誤。 這些是該問題的最常見解決方案:

  • 您沒有進行身份驗證
  • 您的密碼已更改
  • 你不是合作者
  • 不正確的大小寫或單詞拼寫錯誤
  • git倉庫已被刪除

Windows 憑據管理器?

有時 Windows 憑據管理器會緩存您的 u/p 並在幕后傳遞它。 如果您最近更改了密碼,或者正在使用不同的用戶名,您可能需要進入憑證管理器並清除 GitHub 的現有條目。

致命異常

您可以嘗試刪除目錄中的.git文件,然后再次執行所有操作將解決您的問題!

我遇到過同樣的問題

它是通過檢查 git config 中的 http.proxy 值來解決的(我的不正確且不需要),因此我從 git config 中刪除了 http.proxy 值

命令:

列出文件中的配置項

git config --list

刪除代理

git config --global --unset http.proxy

問題解決了!

我也有這個問題。 為了解決這個問題,我: 1. 將我的本地 .dotfiles 移到 _.dotfiles_bak 2. 克隆我的遠程 git 存儲庫 3. 將我的所有文件從 _.dotfiles_bak 復制到 .dotfiles - 除了 .git 文件夾 3. 然后我可以在本地工作再次:編輯、提交和推送

存儲庫、團隊名稱用戶名更改時會發生這種情況。
有一個解決方案(我知道):恢復存儲庫名稱。

試試這個,它對我有用。

git remote rm origin
git remote add origin https://github.com/your-username/{{project-name}}.git

如果 repo 是私有的,請確保您已接受 repo 邀請。 如果 repo 是私有的而不接受 repo 邀請,如果您將直接推送更改,則會給出相同的錯誤。

其他答案都不適合我,我可以在瀏覽器中查看 repo,但在嘗試獲取或執行新克隆時出現 Not Found 錯誤。 出於某種原因,這修復了它:

  1. 在 Web 瀏覽器中訪問 Github 存儲庫。
  2. 單擊綠色的“代碼”按鈕(下圖)。
  3. 選擇使用 Github 桌面打開。
  4. Github 桌面應該打開並成功獲取。
  5. 您現在可以關閉 Github 桌面並從控制台或您選擇的 Git 軟件中獲取或克隆。

綠色代碼按鈕

我遇到了同樣的問題,但是當我發現我已經從另一個帳戶創建了存儲庫並嘗試從另一個帳戶推送代碼時。 就是這樣,現在我只需要授予對另一個帳戶的訪問權限即可解決問題。 您會發現從

Setting > Contributors > Add People

無需從憑據管理器中刪除現有憑據

您只需要在 github.com 之前將您的 github用戶名@添加到您的克隆命令中,如下所述:

git clone https://username@github.com/MyRepo/MyProject.git

將出現一個身份驗證提示,您必須登錄到您的 github 帳戶,身份驗證將成功,您的存儲庫將被克隆。

這個問題困擾了很長時間,直到我了解了Git的配置系統,才得到確切的解決方案。

Git 用於將特定的 github 帳戶憑據鏈接到存儲庫,這意味着您只能為每個存儲庫初始化一個 github/gitlab 帳戶,以便推送/拉取對存儲庫遠程源的任何更改,這完全有意義。

另一個要記住的警告是,在設置 git 配置時,您是在本地還是全局設置用戶名和 email(我更願意保留我的用戶名和 Z0C83F57C786A0B4A39EFAB23731C7EBC 本地存儲庫,因為我可以在本地使用多個帳戶同一台機器,即一個個人帳戶,另一個用於工作場所),或者您最終會以一個意外的用戶名提交,如果您坐在辦公室沙發上做自由職業,這可能會暴露您的 email。

這可能是一個重疊的問題,您同時使用不同的帳戶進行配置。

嘗試檢查:

git config user.name git config user.email

檢查它是否與remote倉庫相同。

檢查 repo git remote -v

在 Visual Studio 中從 Github 克隆時,單擊“瀏覽存儲庫”選項上的 Github 鏈接,它將要求登錄。 截屏

確保您擁有正確的訪問權限,當分支受到保護時可能會發生這種情況。

我只是浪費了四個富有成效的時間來處理這個問題。

更新 .git 目錄中的用戶名和令牌。

  • Go到git文件夾和go里面.git文件夾打開'config'文件

  • 使用記事本或任何其他編輯器將您的 URL 從

  • https://github.com/username/repo_name.git到 https://username:token@github.com/username/repo_name.git

  • 用戶名應該沒有@domain name。

  • 保存並推送代碼,它將起作用。

  • 在這里,您需要保存密碼和安全威脅。

蘋果系統

使用 VS Code 和沒有密碼的密鑰:

  1. 從我的~/.zshrc文件中刪除了eval "$(ssh-agent -s)"行以停止在后台運行它(Github 生成新的 SSH 密鑰文章的第一步)
  2. 驗證我的.ssh/config條目 * .github.com沒有UseKeychain
  3. 簡單地使用ssh-add ~/.ssh/id_ed25519沒有--apple-use-keychain
  4. 在 VS Code 上“Git:添加遠程...”允許/授權我的 Github 帳戶連接(你真的不需要添加遠程)
  5. 在 Mac 的鑰匙串訪問應用程序中應用新的“vscodevscode.github-authentication”條目
  6. 關閉所有 shell 和 VS Code,重新啟動,現在總能找到回購協議

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM