【问题标题】:SourceTree - git: fatal: remote error: Repository not foundSourceTree - git:致命:远程错误:找不到存储库
【发布时间】:2014-03-01 02:44:44
【问题描述】:

我刚刚在工作中注册了一个 github 帐户并创建了一个新的存储库。我通过命令行运行了一些 git 命令,一切正常。

1. git init 
2. git add .
3. git commit -m "first commit"
4. git remote add origin https://github.com/username/project.git

然后,当我从 sourcetree 添加工作副本并单击 Fetch 按钮时,我收到“错误:未找到存储库”。我尝试推拉,我得到同样的错误。几个月来,我一直在将 sourcetree 与我的 bitbucket 和 github 存储库一起使用,但我从来没有遇到过这个问题。有没有人遇到过类似的问题?

【问题讨论】:

  • 如果存储库不存在,我只会收到这样的错误,例如我错误地输入了远程的 url。如果你做git remote -v,你看到正确的远程网址了吗?
  • @janos 存储库确实存在。当我运行 git remote -v 时,我确实看到了它。我从命令行推送和拉动没有问题。问题仅在于 sourcetree。

标签: git github atlassian-sourcetree


【解决方案1】:

有同样的问题。就我而言,原因是我在命令行上通过 https 进行了身份验证,然后通过 oAuth 使用了 sourceTree。在我的帐户设置中将身份验证类型设置为“基本”会有所帮助。

【讨论】:

  • 那么是不是不能用 oath 帐户设置克隆存储库,然后更改为基本存储库?这会阻止所有进一步的 fetch/push/pull 到存储库?
【解决方案2】:

我解决了这个问题。我已经有一个链接到 sourcetree 的个人 github 帐户。当我删除个人 github 帐户并添加工作帐户时,它工作正常。

  1. 转到工具 -> 选项
  2. 点击认证标签
  3. 删除另一个 github 帐户并添加新帐户

【讨论】:

  • 谢谢!我还可以通过将新帐户设置为默认帐户来使其正常工作。
  • 即使将正确的帐户设置为默认帐户,删除其他帐户也很有效。
【解决方案3】:

对我来说简单的解决方案是因为回购是一个私人回购。 我必须在 git URL 之前附加我的用户名和符号 (@)。

将遥控器设置为

https://YOUR_USER_NAME@github.com/YOUR_COMPANY_NAME/YOUR_REPO_NAME.git

而不是

https://github.com/YOUR_COMPANY_NAME/YOUR_REPO_NAME.git

然后根据最终请求输入您的 github 用户密码。

或者改用SSH

ssh://git@github.com/YOUR_COMPANY_NAME/YOUR_REPO_NAME.git

因为 HTTPS 即将被弃用。

【讨论】:

    【解决方案4】:

    我在 Windows (8.1 x64) 上遇到了这个问题,原因更微妙。问题源于使用 git 身份验证钩子,例如 git-credential-winstore (https://gitcredentialstore.codeplex.com/)。

    为了让它工作,我只是像这样将我的网络密码删除到 github:

    1. 开始菜单
    2. 管理网络密码
    3. 删除了http://github.com 的密码

    如果您想完全删除 git 凭据存储此 SO 帖子,这可能会有所帮助:https://stackoverflow.com/a/18376438

    【讨论】:

      【解决方案5】:

      就我而言,这是因为我使用 HTTPS 而不是 SSH 作为 SourceTree 中的远程存储库路径(设置 > 远程)。

      不适用于 Sourcetree: https://github.com/companyname/reponame.git

      曾在 Sourcetree 工作: git@github.com:companyname/reponame.git

      要从 GitHub 获取后者,请单击 Clone or download,然后单击 Use SSH

      【讨论】:

      • 像魅力一样工作。
      【解决方案6】:

      我只需将我想使用的当前帐户设置为 SET TO DEFAULT 在路径工具/身份验证选项卡上

      我没有找到相同的存储库

      错误

      【讨论】:

        【解决方案7】:

        就我而言,我做了以下步骤:

        1. Sourcetree > 首选项
        2. 高级
        3. 删除列表中的所有用户名
        4. 重启源树

        【讨论】:

          【解决方案8】:

          当个人访问令牌似乎过期时,我遇到过几次这种情况。

          在 github 中重新生成令牌(您的个人资料 -> 设置 -> 安全,然后找到一个显示个人访问令牌的链接)(不要忘记勾选相应的框以授予权限)。

          然后在 SourceTree Tools -> Options -> Authentication 中删除其他人所说的帐户。下次你尝试它时,你会得到一个 github 用户名+密码提示。 (输入用户名和个人访问令牌作为密码。)

          【讨论】:

            【解决方案9】:

            问题: 我试图使用 SourceTree 访问该组织的应用程序。但需要获得组织的许可。

            解决办法: 我已经安装了 GitHub 桌面应用程序 https://desktop.github.com/ 已获得所需帐户的授权。它生成了一个额外的 SSH 密钥(那里已经有我的帐户的 ssh 密钥,并且从终端拉/推工作,但 GitHub Desktop 仍然添加了一个额外的密钥)。并且SourceTree开始显示需要的私有仓库,根据需要开始推送和拉取。

            【讨论】:

              【解决方案10】:

              我在源代码树中有一个工作了几个月的 git 项目,这突然发生了一天。我试图检查与身份验证相关的所有内容并找到了这个修复:

              在项目窗口中,右键单击您的项目,单击“转换为 SSH”。我可能不小心将其设置为“转换为 HTML”,导致“找不到存储库错误”。

              希望这可以帮助那些拥有有效设置、有效帐户、有效 ssh 身份验证但突然遇到此错误的人。

              【讨论】:

                【解决方案11】:

                对我来说,问题似乎是如何克隆 repo。我有一个通过 HTTPS 克隆的存储库,即使我有一个有效的 SSH 密钥 + 帐户(使用 oauth),它仍然会出错。

                我在 SourceTree 的存储库浏览器中修复它,我右键单击存储库并选择“转换为 SSH”。

                之后就成功了。

                【讨论】:

                  【解决方案12】:
                  1. 在 github.com > Settings > SSH and GPG keys 部分检查您是否使用了正确的公钥,如果不存在则添加您的公钥。

                  2. 转到终端并使用ssh -vT git@github.com 命令检查是否一切正常,并且您使用相同的密钥进行授权。如果没有,请在 Github 帐户中添加正确的密钥(例如 id_ed25519)。

                  3. Sourcetree 中为您的存储库使用 SSH 身份验证,如果没有 - 将其转换为 SSH。进入Settings -> Remotes 看看是不是像ssh://git@github.com/GIT_ACCOUNT_NAME/GIT_REPO_NAME.git

                  4. 检查 Sourcetree –> Preferences –> Accounts 您正在使用 OAuth 授权和 SSH 协议。

                  5. Sourcetree –> Preferences –> Git 切换到system git

                  6. 祝你好运!

                  【讨论】:

                    【解决方案13】:

                    我遇到了类似的问题,原来是因为 ssh 身份验证。

                    服务器是 bitbucket(而不是 git.com)。

                    因此,Bitbucket 需要用户在推送提交之前建立标识(即使它在将其拉入本地机器时不请求身份验证)。解决方案是: step1:在本地机器上创建密钥。 $ssh-keygen -t rsa step2:将公钥复制到Bitbucket $cat ~/.ssh/id_rsa.pub 将密钥复制到配置文件->帐户->SSH密钥->添加密钥

                    【讨论】:

                      【解决方案14】:

                      在 2020 年 11 月,GitHub 更改了用户在使用 Git for Windows 时的身份验证方式,现在需要使用 Web 浏览器对 GitHub 进行身份验证。 我将适用于 Windows 的 Git 更新到 2.29.2.3 版本并解决了问题。

                      【讨论】:

                        【解决方案15】:

                        将 repo 转换为 SSH 问题可能是它会被设置为

                        【讨论】:

                        • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
                        【解决方案16】:

                        就我而言,我必须允许 SourcetreeForWindows 在我的组织 i GitHub 上进行第三方访问。

                        【讨论】:

                          猜你喜欢
                          • 2019-10-24
                          • 2022-10-23
                          • 2012-04-15
                          • 2015-01-17
                          • 1970-01-01
                          • 2016-10-15
                          • 1970-01-01
                          • 2011-06-05
                          • 2014-10-09
                          相关资源
                          最近更新 更多