100

当我的 Git 存储库 URL 正确时,为什么会出现此错误?

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 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)
4

9 回答 9

94

您已经获得了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
于 2011-09-06T11:30:33.013 回答
29

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

第一步:创建远程仓库

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

第二步:添加遥控器

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

步骤 3:将现有的 git reop 推送到远程

$ git push -u origin --all
于 2013-09-11T14:21:22.353 回答
21

这通常是因为您没有在 Git 存储库上设置源别名。

尝试

git remote add origin URL_TO_YOUR_REPO

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

于 2013-01-24T13:43:20.307 回答
6

我的本地和远程机器都是 OS X。在我检查了 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' 来制作 repo
  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' 将其添加到 repo 暂存区
  12. 运行命令“git commit -m 'new file'”将文件添加到 repo
  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. cd进去
  3. 运行命令'git init'
  4. 为远程机器设置别名
  5. 别名命令格式为 'git remote add your_alias_here URL'
  6. 确保您的网址正确。这最初让我头疼
  7. URL = 'ssh://user@www.somemachine.com/Users/myname/git/project1.git'
  8. 在你做'git remote add alias URL'之后做'git remote -v'
  9. 该命令应以 fetch 和 push 行响应
  10. 运行 cmd 'git pull your_alias master' 从 REMOTE repo 获取 test.php
  11. 在 #10 中的命令之后,您应该会看到一条很好的消息。
  12. 运行命令'git push --set-upstream your_alias master'
  13. 在 12 中的命令之后,您应该会看到很好的消息
  14. #12 中的命令将 REMOTE 设置为项目主节点(root)

对我来说,我学会了在 LOCAL 和 REMOTE 上使用 git repo 重新开始,首先需要在 shell 中进行所有初始工作。然后,在完成上述操作之后,我能够在我的 IDE 中轻松设置 LOCAL 和 REMOTE git repos,并使用 IDE 的 GUI 执行所有基本的 git 命令。

直到我先从远程开始,然后在本地开始,直到我打开远程上的所有权限,我都遇到了困难。此外,在 URL 中包含指向符号链接的确切完整路径对于成功至关重要。

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

于 2015-10-25T21:04:38.983 回答
5

很可能您的 repo 的 SSH URL 错误。

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

ssh 链接

现在复制你的官方repo 的 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

于 2019-08-04T22:42:52.963 回答
1

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

于 2017-01-16T09:40:37.737 回答
1

我的一个功能分支也面临同样的问题。我尝试了上述解决方案,但没有任何效果。我通过执行以下操作解决了这个问题。

  • git pull origin 功能分支名称
  • git 推送
于 2020-06-22T07:58:20.453 回答
0

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

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

git remote add name url

注意这个词name,如果我们把它改成origin,那么这个问题就不会发生了。

当然,如果我们把它改成py,那么每次拉推的时候使用git pull py branchandgit push py branch也是可以的。

于 2013-04-29T15:34:44.470 回答
0

这些都不适合我。这个问题似乎更加平凡......

我花了大约一天时间弄清楚我的 Synology 卷的名称不是“Volume1”而是“volume1”。

考虑到 URL 通常不区分大小写、Windows 文件路径不区分大小写以及最后但同样重要的是:在 DSM 用户界面(例如 Hyper Backup)中对 volume1 的引用大写,我并不觉得这很愚蠢!(让它们看起来不错?)。我终于发现它在 SSH 中四处游荡,注意到在更改目录时大小写很重要。在指定远程存储库的 URL 时也是如此。

于 2022-01-02T09:22:26.217 回答