2013-03-26 105 views
45

我有一个存储库moodle我的Github帐户,我forked从官方存储库。致命︰'起源'似乎不是一个混帐存储库

然后我在本地机器上克隆它。它运行良好。我创建了几个分支(在master分支下)。我做了几个提交,它工作得很好。

我不知道我是如何得到以下错误,当我做:git push origin master

fatal: 'origin' does not appear to be a git repository 
fatal: The remote end hung up unexpectedly 

如何解决该错误不影响在Github上我的仓库?

我使用Ubuntu 12.10

.git/config内容做cat $(git rev-parse --show-toplevel)/.git/config后得出:

[core] 
    repositoryformatversion = 0 
    filemode = true 
    bare = false 
    logallrefupdates = true 
[branch "master"] 
[branch "MOODLE_23_STABLE"] 
[branch "MOODLE_24_STABLE"] 
[remote "upstream"] 
    url = git://git.moodle.org/moodle.git 
    fetch = +refs/heads/*:refs/remotes/upstream/* 
+0

请打印.git/config的内容并在此处添加 – pmod 2013-03-26 12:53:48

+0

@pmod:请参阅我的更新问题。 – xan 2013-03-26 12:56:23

+0

您在本地计算机上克隆的文件夹应该包含.git文件夹。 – pmod 2013-03-26 12:59:58

回答

66

$HOME/.gitconfig是你全球配置的饭桶。
three levelsconfig files

cat $(git rev-parse --show-toplevel)/.git/config 

mentionedbereal)是你当地配置,本地已克隆回购。

,你也可以从回购中键入:

git remote -v 

,看看是否有在它列出的任何远程命名为“原点”。

如果不是,远程(这是默认克隆回购时创建)丢失,您可以再次添加:

git remote add origin url/to/your/fork 

的OP提到:

git remote -v给出:

upstream git://git.moodle.org/moodle.git (fetch) 
upstream git://git.moodle.org/moodle.git (push) 

所以'origin'缺失:您的叉的参考。
请参阅 “What is the difference between origin and upstream in github

enter image description here

+0

否则'GIT中远程-v'给出: '上游\t GIT中://git.moodle.org/moodle.git(取)'' 上游\t GIT中://git.moodle.org/moodle.git(推)' – xan 2013-03-26 13:14:14

+0

@xan'upstream“是你分叉的回购。你错过了原点,这是你在github上的分叉。参见http://stackoverflow.com/a/15632224/6309和http://stackoverflow.com /一个/6309分之9257901 – VonC 2013-03-26 13:15:52

6

我面临同样的问题,当我改名GitHub上我的仓库。我试图把在这一点,我得到了错误

fatal: 'origin' does not appear to be a git repository 
fatal: The remote end hung up unexpectedly 

我不得不使用

git remote set-url origin ssh://[email protected]/username/newRepoName.git 

更改URL后,这一切的命令开始工作的罚款。您可以通过使用

git remote -v 

在我的情况后,检查变化全成改变它在URL

[[email protected] Android]$ git remote -v 
origin ssh://[email protected]/aniket91/TicTacToe.git (fetch) 
origin ssh://[email protected]/aniket91/TicTacToe.git (push) 
2

这不回答你的问题表现出正确的重命名的回购,但我遇到类似的错误消息,但由于出于不同的原因。为了收集信息,请允许我发表我的帖子。

我有一个网络驱动器上的git回购。我们称之为网络驱动器RAID。我在本地机器(本地)和我的编号群集(CRUNCHER)上克隆了此回购。 为了方便起见,我在本地机器上的CRUNCHER上安装了我的账户的用户目录。因此,我可以在CRUNCHER上操作文件,而无需在SSH终端中完成工作。

今天,我通过本地机器修改了CRUNCHER上的回购文件。在某个时候,我决定提交这些文件,因此做了一个提交。添加修改后的文件并按照我的预期进行提交,但是当我调用git push时,我收到了类似于问题中发布的错误消息。

原因是,我从LOCAL的CRUNCHER上的回购商品内拨打了push。所以,配置文件中的所有路径都是错误的。

当我意识到自己的错误时,我通过终端登录到CRUNCHER,并能够推送提交。

如果我的解释无法被理解,或者您发现我的帖子是多余的,请随时发表评论。

0

git的设置远程原产地时,如路径FS,而不是SSH的git拉出身BRANCHNAME同样的错误/配置

fatal: '/path/to/repo.git' does not appear to be a git repository 
fatal: The remote end hung up unexpectedly 

它是像这样(这只适用于git可以访问git的用户):

url = file:///path/to/repo.git/ 

固定它像这样(这个工程上即有机会获得git的用户(SSH authorizes_keys或密码)的所有用户):

url = [email protected]domain.com:path/to/repo.git 

我有它的目录路径的原因是因为混帐文件位于同一台服务器上。

3

你可能试图从另一个分支拉出不同步;所以添加和删除远程尝试(如果你正试图从主拉)

git pull origin master 

对于我这种简单的通话解决这些错误消息之前:

  • 致命的:“主人”不会出现成为git存储库
  • 致命错误:无法从远程存储库读取。
相关问题