致命:似乎不是 git 存储库

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

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

在下面的上下文中查看它,或 as a screenshot

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)
stack overflow fatal: does not appear to be a git repository
原文答案
author avatar

接受的答案

您已经获得了 scp 样式指定存储库的方式的语法略有错误 - 它必须是:

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

...正如您在 git clone 文档中看到的那样。您应该改用 URL:

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

即在您使用的 URL 中,您错过了 : (冒号)

要更新来源的 URL,您可以执行以下操作:

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

答案:

作者头像

当我尝试将现有的存储库存储在我的 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
作者头像

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

尝试

git remote add origin URL_TO_YOUR_REPO

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

作者头像

我的本地和远程机器都是 OS X。在我检查了 xCode Server 提供给我的 git repo 的文件结构之前,我遇到了麻烦。基本上,该仓库中的所有内容都是 chmod 777 * 所以要在我的远程帐户中的同一台机器上设置一个单独的非 xCode 仓库,我这样做了:

远程机器

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

本地机器

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

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

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

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

作者头像

It is most likely that you got your repo's SSH URL wrong.

To confirm, go to your repository on Github and click the clone or download button. Then click the use SSH link.

ssh link

Now copy your official repo's SSH link. Mine looked like this - git@github.com:borenho/que-ay.git

You can now do git remote add origin git@github.com:borenho/que-ay.git if you didn't have origin yet.

If you had set origin before, change it by using git remote set-url origin git@github.com:borenho/que-ay.git

Now push with git push -u origin master

作者头像

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

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

git remote add name url

注意 name 这个词,如果我们把它改成 origin ,就不会出现这个问题了。

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

作者头像

I was facing same issue with my one of my feature branch. I tried above mentioned solution nothing worked. I resolved this issue by doing following things.

  • git pull origin feature-branch-name
  • git push
作者头像

I had a similar problem when using TFS 2017. I was not able to push or pull GIT repositories. Eventually I reinstalled TFS 2017, making sure that I installed TFS 2017 with an SSH Port different from 22 (in my case, I chose 8022). After that, push and pull became possible against TFS using SSH.

作者头像

None of this worked for me. The problem appeared to be a lot more mundane...

I spent about a day figuring out the name of my Synology volume is not "Volume1" but "volume1".

I do not feel that stupid about it considering URLs are typically not case sensitive, Windows file paths are not case sensitive and last but not least: references to volume1 in the DSM user interface (e.g. Hyper Backup) are capitalized! (to make them look nice?). I finally found it poking around in SSH noticing that casing mattered when changing directories. And so it does when specifying the URL for the remote repository.

作者头像

I got similar issue. In my case to solve was to unset the environment variable HOMEBREW_BREW_GIT_REMOTE.

unset HOMEBREW_BREW_GIT_REMOTE