致命的:“起源”似乎不是一个混帐存储库
我在我的Github账户上有一个仓库moodle
,我从官方仓库forked
出来。
然后我在我的本地机器上克隆它。 它工作正常。 我创build了几个分支(在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
执行cat $(git rev-parse --show-toplevel)/.git/config
后,我的.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/*
$HOME/.gitconfig
是你的git的全局configuration。
有三个级别的configuration文件 。
cat $(git rev-parse --show-toplevel)/.git/config
(由bereal 提到 )是你本地的configuration,你已经克隆的回购本地。
你也可以在你的回购中input:
git remote -v
看看是否有任何远程命名的“起源”在其中列出。
如果没有,如果该远程(在克隆repo时缺省创build)缺失,则可以再次添加它:
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
”缺失:对你的叉子的引用。
请参阅“ github中的origin
与upstream
之间的区别 ”
当我在GitHub上重新命名我的仓库时,我遇到了同样的问题。 我试图推动哪一点我得到了错误
fatal: 'origin' does not appear to be a git repository fatal: The remote end hung up unexpectedly
我不得不改变使用的URL
git remote set-url origin ssh://git@github.com/username/newRepoName.git
在这之后所有的命令开始正常工作。 您可以使用检查更改
git remote -v
在我的情况下成功改变后,它显示正确的URL重命名回购
[aniket@alok Android]$ git remote -v origin ssh://git@github.com/aniket91/TicTacToe.git (fetch) origin ssh://git@github.com/aniket91/TicTacToe.git (push)
这不能回答你的问题,但我面临类似的错误信息,但由于不同的原因。 请允许我为了收集信息而发表我的文章。
我有一个networking驱动器上的git回购。 我们称之为networking驱动器RAID。 我在本地机器(本地)和我的号码处理群集(CRUNCHER)上克隆了这个回购。 为了方便起见,我在我的本地机器上将我的账户的用户目录挂载在CRUNCHER上。 所以,我可以在CRUNCHER上操作文件,而不需要在SSHterminal上工作。
今天,我正在通过本地机器修改CRUNCHER上的回购文件。 在某个时候,我决定提交这些文件,所以做了一个提交。 添加修改后的文件,并按照我的预期进行提交,但是当我调用git push
我收到了类似于问题中发布的错误消息。
原因是我从LOCAL的CRUNCHER回购商品内部push
。 所以,configuration文件中的所有path都是错误的。
当我意识到我的错误时,我通过terminallogin到CRUNCHER,并能够推送提交。
如果我的解释不能被理解,或者你发现我的post是多余的,请随意评论。
你可能试图从另一个分支拉出来的是不同步的; 所以在添加和删除远程尝试(如果你正试图从主拉)
git pull origin master
对我来说,简单的电话解决了这些错误消息:
- 致命的:“主”似乎不是一个混帐存储库
- 致命的:无法从远程存储库读取。
当我把git pull origin branchname设置为pathfs而不是ssh时 ,我在git pull origin 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或password))的用户:
url = git@domain.com:path/to/repo.git
我把它作为目录path的原因是因为git文件在同一台服务器上。
它可能帮助某人。 我原来有一个错字 。 之后我错过了“我”
git push origin master
请注意,这是或我的杜松子酒 – 不要错过r之后的“我”。