Git push:"致命的'起源'似乎不是一个git存储库 - 致命的无法从远程存储库读取."

Thi*_*ent 85 git version-control branch github

我知道已经提出了类似的问题.

但是,我认为我的问题是由于我之前犯的错误,因此是不同的:让我解释一下.

一切顺利,我可以:

  • git add . 我本地存储库中的所有文件.
  • git commit -m "message here" 添加消息到我的提交.
  • git push origin master 将我的文件上传到GitHub.
  • git push heroku master 将我的文件上传到Heroku.

但是,在某些时候,我在本地创建了一个新的分支add-calendar-model,以防应用程序开发的后续步骤向南...

......这正是发生的事情.

然而,尽管进行了许多尝试,但我没有设法从master分支到我的本地存储库获取初始代码 - 即我创建新分支之前的代码.

所以,我决定从GitHub 手动删除本地存储库和git clone我的master分支中的所有文件.

这样,我恢复了所有文件,但现在,我无法再将其推送到远程存储库.

任何时候我尝试运行git push origin add-calendar-modelgit push origin master,我收到以下错误:

fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)

我对Git和GitHub不太满意,你可能已经猜到了,我不得不承认我对如何解决这个问题一无所知.

任何的想法?

Mat*_*ark 170

首先,检查您的原点是否已通过运行设置

git remote -v
Run Code Online (Sandbox Code Playgroud)

这应该显示项目的所有push/fetch遥控器.

如果返回没有输出,则跳到最后一个代码块.

验证远程名称/地址

如果返回显示您已设置遥控器,请检查遥控器的名称是否与您在命令中使用的遥控器相匹配.

$git remote -v
myOrigin ssh://git@example.com:1234/myRepo.git (fetch)
myOrigin ssh://git@example.com:1234/myRepo.git (push)

# this will fail because `origin` is not set
$git push origin master

# you need to use
$git push myOrigin master
Run Code Online (Sandbox Code Playgroud)

如果要重命名遥控器或更改遥控器的URL,则需要先删除旧遥控器,然后添加正确的遥控器.

删除旧遥控器

$git remote remove myOrigin
Run Code Online (Sandbox Code Playgroud)

添加丢失的遥控器

然后,您可以使用适当的远程添加

$git remote add origin ssh://git@example.com:1234/myRepo.git

# this will now work as expected
$git push origin master
Run Code Online (Sandbox Code Playgroud)


vin*_*nod 16

这个对我有用。

git remote add origin https://github.com/repo.git
git push origin master
Run Code Online (Sandbox Code Playgroud)

将存储库 URL 添加到本地工作目录中的源

  • 当我最终删除“*.git”时,它对我有用:“git远程添加源https://github.com/user/repo” (2认同)

Ant*_*nio 12

这是我更新master分支的方式

这种错误通常发生在删除项目中的初始代码后

所以,首先,验证实际的远程版本,然后删除源添加注释,并将存储库 URL 复制到项目文件中。

$ git remote -v
$ git remote rm origin
$ git commit -m "your commit"
$ git remote add origin https://github.com/user/repo.git
$ git push -f origin master
Run Code Online (Sandbox Code Playgroud)


小智 9

正如马特克拉克上面所说

但是,可能未设置原点,因此跳过删除步骤,只需尝试添加就可以清除它.

git remote add origin <"clone">
Run Code Online (Sandbox Code Playgroud)

"克隆"只是进入你的GitHub仓库并复制"HTTPS克隆URL"并粘贴到GitBash中


小智 6

如果您使用 git clone 添加远程存储库,请按照以下步骤操作:-

git clone <repo_url> 然后

git init

git add **表示添加所有文件

git commit -m 'your commit'

git remote -v检查是否有任何分支运行,如果没有,则没有任何显示,然后我们添加或获取存储库。“先取”。您需要在下一次推送之前运行 git pull origin <branch>或。git pull -r origin <branch>

然后

git remote add origin <git url>
 git pull -r origin master
git push -u origin master```
Run Code Online (Sandbox Code Playgroud)