我在我的Github帐户上有一个存储库moodle
,我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 :(得分:89)
$HOME/.gitconfig
是git的全局配置
有three levels config files。{/ p>
cat $(git rev-parse --show-toplevel)/.git/config
(mentioned bereal)是您的本地配置,是您克隆的repo的本地配置。
你也可以在你的回购中输入:
git remote -v
并查看其中是否列出了任何名为“origin”的遥控器。
如果没有,如果缺少该远程(克隆回购时默认创建),则可以再次添加:
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”
答案 1 :(得分:12)
当我在GitHub上重命名我的存储库时遇到了同样的问题。我试图推动我得到了错误
fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
我必须使用
更改网址git remote set-url origin ssh://git@github.com/username/newRepoName.git
此后所有命令开始正常工作。您可以使用
检查更改git remote -v
在我成功更改后的情况下,它在URL
中显示了正确的重命名repo[aniket@alok Android]$ git remote -v
origin ssh://git@github.com/aniket91/TicTacToe.git (fetch)
origin ssh://git@github.com/aniket91/TicTacToe.git (push)
答案 2 :(得分:5)
你试图拉出的另一个分支可能不同步;所以在添加和删除远程尝试之前(如果你试图从主人那里拉)
git pull origin master
对我而言,简单的调用解决了这些错误消息:
答案 3 :(得分:3)
尝试首先创建远程源,可能因为您更改了远程仓库的名称而丢失了
git remote add origin URL_TO_YOUR_REPO
答案 4 :(得分:2)
这不能解答您的问题,但我遇到了类似的错误消息,但原因不同。请允许我为了收集信息而发帖。
我在网络驱动器上有一个git repo。我们称这个网络驱动器为RAID。我在我的本地机器(LOCAL)和我的数字运算集群(CRUNCHER)上克隆了这个仓库。 为方便起见,我在我的本地计算机上的CRUNCHER上安装了我的帐户的用户目录。因此,我可以在CRUNCHER上操作文件,而无需在SSH终端中进行工作。
今天,我正在通过我的本地机器修改CRUNCHER上的回购文件。在某些时候我决定提交文件,所以做了提交。添加修改后的文件并按照我的预期进行提交,但是当我调用git push
时,我收到的错误消息类似于问题中发布的错误消息。
原因是,我在LOCAL上的CRUNCHER上的回购中调用了push
。因此,配置文件中的所有路径都是完全错误的。
当我意识到自己的错误时,我通过终端登录CRUNCHER并能够推送提交。
如果我的解释无法理解,或者您发现我的帖子多余,请随意发表评论。
答案 5 :(得分:1)
我遇到了同样的问题并通过检查解决了
git remote -v
git init the repo URL
git remote add origin the repo URL
git push -f origin master
答案 6 :(得分:0)
在中将远程来源设置为路径 fs 而不是 ssh 时,我在 git pull origin branchname 上遇到了同样的错误。的git /配置强>:
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 = git@domain.com:path/to/repo.git
我将其作为目录路径的原因是因为 git 文件位于同一台服务器上。