我有一个非常奇怪的问题与git和github。当我试着推的时候,我得到:

git push -u origin master
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly

我添加了遥控器:

git remote add origin git@github.com:account-name/repo-name.git

什么好主意吗?


当前回答

我得到这个错误(但之前正在工作)。我的问题是缺少与Github帐户绑定的ssh密钥。您可以使用ssh-add -l检查当前的ssh密钥。

如果你的钥匙丢失了,你可以用

ssh-add ~/.ssh/your_key

其他回答

在使用MacBook Pro时遇到了同样的问题。

当我尝试克隆一个存储库时,我得到以下错误:

git clone https://github.com/mytech/mytech_frontend.git

Cloning into 'mytech_frontend'...
remote: Repository not found.
fatal: repository 'https://github.com/mytech/mytech_frontend.git/' not found

以下是我的解决方法:

问题是我已经在我的电脑上设置了我的个人GitHub帐户,我试图克隆的存储库是个人的私人存储库(而不是团队帐户)。

我所要做的就是通过进入项目设置,将我的个人Github帐户添加为存储库中的合作者之一。之后我就可以克隆这个项目了。

我在更新ubuntu到下一个版本后遇到了同样的错误

我刚刚删除了我的sshkey在github帐户,然后重新添加了一个sshkey到该帐户。

如果使用私有存储库检查连接用户,则该用户必须具有使用存储库的权限。

都经历过同样的问题。几年来一切都很正常,然后突然出现了这个错误。

问题是,我在用户的github SSH密钥(我总是用来访问有问题的回购)之前向我的SSH代理添加了另一个回购的部署密钥。SSH代理首先尝试了另一个回购的部署键,而GitHub出于一些完全无法解释的原因说

ERROR: Repository not found.

一旦我从SSH代理中删除了部署键,一切就恢复正常了。

创建一个Fork

如果没有对该存储库的写访问权,则不需要它。按照下面的说明创建一个fork——它是你自己的存储库的克隆,你可以自由修改。

在创建fork之后,您可以将该repo复制到您的计算机。

git clone git@github.com:<your-git-handle>/<repository>.git
// It will be cloned to your machine where you run the command 
// under a <repository> folder that it will create.

签出一个新的分支并进行更改。

git checkout -b my-new-feature

要将更改提交到原始存储库,您需要确保它们已被推送

/* make changes */
git commit -am "New Feature: Made a new feature!"
git push origin my-new-feature

要将这些更改放到派生出来的原始存储库中,您可以按照以下说明提交一个Pull Requests。Pull Request基本上,你请求对存储库有写访问权限的用户下拉你所做的更改。把它想象成“我请求您将我的更改拉到您的回购中。”


注意:尽管如此,您的分支不会与原始存储库中正在进行的所有更改保持最新。您必须定期删除这些更改—但这很容易。

创建分叉后,你可以链接到你已经分叉的回购,这样你就可以拉进它的变化并保持最新。

git remote add upstream git@github.com:<git-user-handle>/<repository>.git

一旦你做到了这一点,保持与原始回购上所做的更改同步是非常容易的。

git checkout master         // checkout your local master
git pull upstream master    // fetch changes from the master branch of the repo you forked from.. which is linked to your fork under the alias "upstream" (common naming convention)
git push origin master      // push the pulled changes onto your local master
git checkout -b new-branch  // create a new branch and start making changes