git - origin 似乎不是 git 存储库

标签 git github repository

我在 github 上在线创建了一个新的存储库,我在那里有一个帐户。该项目位于:

https://github.com/myname/myproject

现在我想从我的文件系统向该项目添加、提交和推送内容。 所以我在 Ubuntu 上打开终端,转到我想放入 git 文件夹的目录并输入 git init

    ~/myfolder$ git init

然后我输入

    ~/myfolder$ git clone git@github.com:myname/myproject.git

然后我输入 git status,发现很多文件都没有被跟踪。所以我添加了其中一个,比如

    ~/myfolder/mysubfolder$ git add subfolderfile.txt

我什至犯了

    ~/myfolder/mysubfolder$ git commit -m "Some comment"

然后 push 它

    ~/myfolder/mysubfolder$ git push origin master

给予

致命:'origin' 似乎不是 git 存储库 致命:无法从远程存储库读取。 请确保您拥有正确的访问权限 并且存储库存在。

我在这个论坛上阅读了其他问题,但我的编码水平是你们普通祖母的水平,所以我尝试了

    $ git remote set-url origin git@github.com:myname/myproject.git

但这没有用:没有这样的远程“来源”。我真的很茫然。 请以曾祖父的风格解释我需要做什么。先验知识=0。例如,我更喜欢终端机上的“大黑窗”,否则我很乐意简要解释一下它是什么。非常感谢。

最佳答案

这里的问题几乎可以肯定是由于您首先运行 git init 然后使用 git clone 命令将您的项目克隆到同一目录引起的。即使您可以通过将 Remote 添加到您在计算机上初始化的空存储库来解决问题,您也不想这样做,因为您将拥有两个 git 存储库,一个嵌套在另一个存储库中。

由于上述情况,如果您在本地计算机上的项目中没有任何有值(value)的更改,那么只需清除 ~/myfolder/ 的所有内容就会使事情变得更简单> 目录并通过执行以下操作重新克隆项目:

rm -rf ~/myfolder
git clone git@github.com:myname/myproject.git ~/myfolder

如果您想要在位于 ~/myfolder/mysubfolder 的项目中保留更改,那么我们可以移动内容以确保您不会丢失任何内容。我首先建议您执行以下操作以摆脱嵌套:

cd ~/myfolder
rm -rf .git
mv mysubfolder/* .

此时,您应该在 mysubfolder/ 目录中拥有项目的所有文件和 .git 文件夹。您可以使用 ls -al

检查

接下来我们要检查您是否正确配置了远程存储库。为此,运行命令 git remote -v 希望您会看到以下输出:

origin  git@github.com:myname/myproject.git (fetch)
origin  git@github.com:myname/myproject.git (push)

如果您没有看到上面的输出,请不要害怕,快速修复。只需运行命令:

git remote add origin git@github.com:myname/myproject.git

至此,我们已经为您正确配置了合理的目录结构和远程存储库。现在是访问该远程存储库的问题。由于您最初的设置方式是通过 ssh,这是最好的选择,而这正是我到目前为止向您展示的方法,我们将继续沿着这条路前进。

首先我们需要检查您是否有 key 对,因此请执行以下操作:

cd ~/.ssh
ls

如果您有 key 对,那么我希望看到这两个文件 id_rsaid_rsa.pub。如果您没有这些文件(尽管有时它们的名称不同),请执行以下操作

ssh-keygen -t rsa
ls

现在您应该拥有这些文件了。 id_rsa 是你的私钥,你不想离开你的电脑,也不应该与任何人共享,但是 id_rsa.pub 是你的公钥,这是一个其他人和服务知道如何识别您的方式。我们需要确保您的 github 帐户已添加公钥 id_rsa.pub。所以现在执行以下操作:

  1. 登录github
  2. 导航到 https://github.com/settings/keys
  3. 点击“新建 SSH key ”按钮
  4. 给它起一个名字,比如“家用台式机”或“工作笔记本电脑”
  5. 复制文件id_rsa.pub的内容
  6. 将该文件的内容粘贴到 github 的关键字段中
  7. 单击“添加 SSH key ”按钮

现在您应该可以毫无问题地从您的远程存储库进行推送和 pull 。

关于git - origin 似乎不是 git 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38934200/

相关文章:

git - Ran git rebase origin/develop 现在我有一个 (develop|REBASE 1/2) - 分支

git - 子分支和父分支同步自己

git - 假设我是唯一处理该问题的人,则从远程存储库中删除一些提交

git - 如何为 HTTPS git push 设置默认用户名?

git - 硬重置 Git 存储库后回滚到未提交的更改

c# - 如何使用存储库模式处理子实体的分页?

java - spring boot jpa存储库接口(interface)始终返回null

从中央 repo 中 pull 出时 git-subtree 冲突

git - 在 Github 上过滤将被 pull 请求关闭的问题?

c# - 从任务访问 Enterprise Architect 存储库