我在 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_rsa
和 id_rsa.pub
。如果您没有这些文件(尽管有时它们的名称不同),请执行以下操作
ssh-keygen -t rsa
ls
现在您应该拥有这些文件了。 id_rsa
是你的私钥,你不想离开你的电脑,也不应该与任何人共享,但是 id_rsa.pub
是你的公钥,这是一个其他人和服务知道如何识别您的方式。我们需要确保您的 github 帐户已添加公钥 id_rsa.pub
。所以现在执行以下操作:
- 登录github
- 导航到 https://github.com/settings/keys
- 点击“新建 SSH key ”按钮
- 给它起一个名字,比如“家用台式机”或“工作笔记本电脑”
- 复制文件
id_rsa.pub
的内容 - 将该文件的内容粘贴到 github 的关键字段中
- 单击“添加 SSH key ”按钮
现在您应该可以毫无问题地从您的远程存储库进行推送和 pull 。
关于git - origin 似乎不是 git 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38934200/