起源似乎不是一个Git仓库。

6

我在我的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"

但是然后推送它

    ~/myfolder/mysubfolder$ git push origin master

提供

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

我在这个论坛上看到了其他问题,但我的编程水平就像普通的奶奶,所以我尝试了

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

但是它没有起作用:没有这样的远程'origin'。我真的很茫然。请用老爷爷的方式解释我需要做什么。先前没有知识,例如我更喜欢"大黑窗口"而不是终端,否则我很高兴简要解释一下它是什么。非常感谢。

请查看此处 https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ - rdRahul
感谢rdRahul提供的链接。 - Marlo
2个回答

9
问题很可能是您先使用 git init 命令创建了一个空的代码库,然后再使用 git clone 命令将项目克隆到同一目录中。即使您可以通过将远程仓库添加到在本地机器上初始化的空仓库来解决此问题,但您不应该这样做,因为这样会有两个 git 仓库,其中一个嵌套在另一个里面。
因此,如果在本地机器上的项目没有任何有价值的更改,那么最简单的方法就是删除您的 ~/myfolder/ 目录下的所有内容,并通过执行以下操作重新克隆项目:
rm -rf ~/myfolder
git clone git@github.com:myname/myproject.git ~/myfolder

如果你想保留位于~/myfolder/mysubfolder的项目中所做的更改,那么我们可以移动一些内容以确保你不会失去任何东西。我建议首先执行以下步骤来消除嵌套:
cd ~/myfolder
rm -rf .git
mv mysubfolder/* .

现在,你应该已经把项目的所有文件和 .git 文件夹放在 mysubfolder/ 目录下了。你可以通过运行 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完成的,这是最佳选项,也是我到目前为止向你展示的方法,我们将继续沿着这条道路前进。

首先,我们需要检查您是否有一对密钥,请执行以下操作:

cd ~/.ssh
ls

如果您拥有密钥对,我希望能看到两个文件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. 单击“New SSH key”按钮
  4. 给它一个名称,例如“Home Desktop”或“Work laptop”
  5. 复制id_rsa.pub文件的内容
  6. 将该文件的内容粘贴到github中的密钥字段中
  7. 单击“Add SSH Key”按钮
现在您应该毫无问题地从远程存储库中推送和拉取。

非常感谢rdgd,这非常有帮助。幸运的是我没有做出任何重大更改。 - Marlo
很高兴听到这个消息。你能解决你的问题吗? - rdgd

0

请尝试使用 https://github.com/myname/myproject
如果这不起作用,请确保您已经登录到创建在线存储库所使用的 Git 帐户。 git config --global your.namegit config --global your.email 应该可以解决问题。
希望这可以帮到你!

编辑:您是否正在使用 Debian 的分支?例如 Raspbian,Ubuntu 等等。
如果是这样,您应该能够运行 sudo apt-get install git-gui。之后,在您的桌面上,您应该有一个新的应用程序,说的是 "Git"。打开它,如果您喜欢的话,您应该有一个图形界面 ;)


非常感谢。这次他们至少问了我的用户名和密码。 - Marlo
没问题!我很高兴能帮忙! :) - ALinuxLover
我没有对它进行负面评价。它实际上帮了我很多。最终我成功地让它运行起来了。后来我又遇到了一些麻烦,但是我添加了一个远程源。不幸的是,我还没有足够的声望点数来进行投票。 - Marlo
嗯...好的...我很高兴能帮到你 :) - ALinuxLover
@Marlo,你可以用一个勾号标记答案。我想这不需要任何积分。 - djames
当然可以。事实证明,这并不需要任何积分。但是我也想感谢ALinuxLover的帮助。 - Marlo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接