致命的:似乎不是git存储库


83

为什么我的git仓库网址正确时会出现此错误?

jitendra@JITENDRA-PC /c/mySite (master)
$ git push beanstalk master
fatal: 'git@skarp.beanstalkapp.com/gittest.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

jitendra@JITENDRA-PC /c/mySite (master)
$ git clone git://github.com/jquery/jquery.git
Cloning into jquery...
Remote: Counting objects: 19803, done.
Remote: Compressing objects: 100% (5196/5196), done.
Remote: Total 19803 (delta 14204), reused 19549 (delta 14052)
Receiving objects: 100% (19803/19803), 12.80 MiB | 591 KiB/s, done.
Resolving deltas: 100% (14204/14204), done.

jitendra@JITENDRA-PC /c/mySite (master)
$ gitk --all

jitendra@JITENDRA-PC /c/mySite (master)
$ gitk -all

jitendra@JITENDRA-PC /c/mySite (master)
$ git remote add origin git@skarp.beanstalkapp.com/gittest.git

jitendra@JITENDRA-PC /c/mySite (master)
$ git push origin master
fatal: 'git@skarp.beanstalkapp.com/gittest.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

jitendra@JITENDRA-PC /c/mySite (master)

编辑:替换了原始屏幕截图

编辑:

fatal: 'git@skarp.beanstalkapp.com/gittest.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

您确定可以吗?您可以从gettest.git克隆吗?在上面的示例中,您正在克隆另一个jquery。
Preet Sangha

我想将本地文件夹+文件添加到我的git托管中
Jitendra Vyas

27
供将来参考,请在问题中包括文字-作为文字。文字图像脱机,即使他们不这样做,他们阻止复制和粘贴等
AD7six

Answers:


85

您已经使用scp-style方法指定存储库的语法有点错误-它必须是:

[user@]host.xz:path/to/repo.git/

...如您在git clone文档中所见。您应该改为使用URL:

git@skarp.beanstalkapp.com:/gittest.git

也就是说,在您使用的网址中,您错过了:(冒号)

要更新原始URL,您可以执行以下操作:

git remote set-url origin git@skarp.beanstalkapp.com:/gittest.git

1
谢谢 。但是,为什么当我添加遥控器时我没有得到任何错误
Jitendra Vyas

现在,我尝试了git@skarp.beanstalkapp.com:/gittest.git但又出错了remote origin already exists
Jitendra Vyas

3
您可以先使用删除原始远程,git remote rm origin然后再次添加。然后,如果您希望在该存储库中将其作为默认的默认上游,则可能需要添加-u参数(即git push -u origin master)。mastermaster
Mark Longair 2011年

删除并重新添加工作。没有-u。谢谢。我是第一次使用任何版本控制进行版本控制的新手。
Jitendra Vyas

您还可以编辑文件“ .git / config”并在[远程“来源”]中更新url
dxvargas 2013年

26

当我尝试将现有的存储库存储在Ubunt One帐户中时遇到了类似的问题,我通过以下步骤对其进行了修复:

第1步:创建远程仓库

$ cd ~/Ubuntu\ One/
$ mkdir <project-name>
$ cd <project-name>
$ mkdir .git
$ cd .git
$ git --bare init

步骤2:添加遥控器

$ git remote add origin /home/<linux-user-name>/Ubuntu\ One/<project-name>/.git

第三步:将现有的git reop推送到远程

$ git push -u origin --all

18

这通常是因为您尚未在Git存储库中设置原始别名。

尝试

git remote add origin URL_TO_YOUR_REPO

这将在.git/config文件中为远程克隆/推送/拉站点URL添加一个别名。可以在您的存储库“概述”页面上找到此URL。


5

我的本地和远程计算机都是OSX。在检查xCode Server提供给我的git repo的文件结构之前,我一直遇到麻烦。基本上,该回购中的所有内容都是chmod 777 *,因此要在我的远程帐户的同一台计算机上设置单独的非xCode回购,我可以这样做:

遥控器

  1. 登录到您的帐户
  2. 为所有项目'mkdir git'创建一个主目录
  3. chmod 775 git然后cd进入它
  4. 制作一个项目文件夹“ mkdir project1”
  5. chmod 777 project1然后CD进入
  6. 运行命令'git init'进行回购
  7. 这将创建一个.git目录。执行命令'chmod 777 .git'然后cd进入
  8. 运行命令'chmod 777 *'以使所有文件都在.git 777 mod中
  9. cd返回myproject1(cd ..)
  10. 在新的仓库中使用命令“ touch test.php”设置测试文件
  11. 使用命令'git add test.php'将其添加到仓库分段区域
  12. 运行命令“ git commit -m'新文件'”以添加文件到仓库
  13. 运行命令“ git status”,您应该得到“ working dir clean”味精
  14. cd用“ cd ..”返回主目录
  15. 在主目录中创建符号链接'ln -s project1 project1.git'
  16. 运行命令“ pwd”以获取完整路径
  17. 在我的情况下,完整路径为“ /Users/myname/git/project1.git”
  18. 写下完整路径,以供以后在URL中使用
  19. 从远程机器退出

本地机器

  1. 使用“ mkdir newproj1”在“ newproj1”某处创建一个项目文件夹
  2. 光盘进入
  3. 运行命令'git init'
  4. 为远程计算机创建别名
  5. 别名命令格式为“ git remote add your_alias_here URL”
  6. 确保您的网址正确。最初让我头疼
  7. 网址='ssh://user@www.somemachine.com/Users/myname/git/project1.git'
  8. 执行“ git remote添加别名URL”后,执行“ git remote -v”
  9. 该命令应以提取和推送行响应
  10. 运行cmd'git pull your_alias master'从远程仓库获取test.php
  11. 在#10中的命令之后,您应该会看到一条不错的消息。
  12. 运行命令'git push --set-upstream your_alias master'
  13. 在12中的命令后,您应该会看到不错的消息
  14. #12中的命令将REMOTE设置为项目主用户(根)

对我来说,我学会了在本地和远程使用git repo进行全新的入门,首先需要在shell中进行所有初始工作。然后,在完成上述操作后,我可以在IDE中轻松设置LOCAL和REMOTE git存储库,并使用IDE的GUI执行所有基本的git命令。

直到我首先从远程启动,然后是本地启动,直到我打开了远程上的所有权限,我才遇到困难。另外,在符号链接的URL中具有确切的完整路径对于成功至关重要。

同样,这一切都适用于OS X,本地和远程计算机。


非常感谢您!我的目录权限出现问题,我花了很长时间才找到一个实际列出它们的帖子!
迈克,

本地机器的第7点也缺少冒号...不是很有帮助:p
卡洛·伍德

1

使用TFS 2017时遇到类似的问题。我无法推送或拉动GIT存储库。最终,我重新安装了TFS 2017,确保安装的TFS 2017的SSH端口不同于22(在我的情况下,我选择8022)。之后,可以使用SSH对TFS进行推和拉。


1

您很可能是您的存储库的SSH URL错误。

要确认,请转到您在Github上的存储库,然后单击clone or download button。然后单击use SSH链接。

ssh链接

现在,复制您的官方存储库的SSH链接。我的看起来像这样-git@github.com:borenho/que-ay.git

git remote add origin git@github.com:borenho/que-ay.git如果您还没有的话,现在可以做origin

如果您origin之前进行过设置,请使用git remote set-url origin git@github.com:borenho/que-ay.git

现在用 git push -u origin master


0

我有类似的问题,但现在我知道了原因。

使用完后git init,我们应该使用添加一个远程存储库

git remote add name url

注意这个词name,如果我们改成origin,则不会发生此问题。

当然,如果我们将其更改为py,然后用git pull py branchgit push py branch你拉,每次加推的东西也随之确定。


1
感谢您为共享知识所做的努力,但这与OP中的情况完全不同。问题是非常不同的。
Shahbaz 2013年

请注意,这个较早的答案已经说过要添加缺少的远程URL。

0

我的功能分支之一也面临同样的问题。我尝试了上述解决方案,但是没有用。我通过做以下事情解决了这个问题。

  • git pull origin feature-branch-名称
  • git推
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.