Git 推送:"fatal 'origin' does not appear to be a git repository - fatal Could not read from remote repository."

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

我知道已经有人问过类似的问题。

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

一切顺利,尽我所能:

但是,在某些时候,我在本地创建了一个名为 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.

我对 Git 和 GitHub 不太满意,正如您现在可能已经猜到的那样,我不得不承认我不知道如何解决这个问题。

有什么想法吗?

首先,检查您的 origin 是否由 运行

设置
git remote -v

这应该会向您显示该项目的所有推送/获取远程。

如果这个returns没有输出,跳到最后一个代码块。

验证远程名称/地址

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

$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 main

# you need to use
$git push myOrigin main

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

删除旧遥控器

$git remote remove myOrigin

添加缺少的遥控器

然后您可以使用

添加正确的遥控器
$git remote add origin ssh://git@example.com:1234/myRepo.git

# this will now work as expected
$git push origin main

正如 Matt Clark 所说

但是,可能未设置原点,因此请跳过删除步骤,只需尝试添加即可解决此问题。

git remote add origin <"clone">

其中 "clone" 只是进入您的 GitHub 存储库并复制 "HTTPS clone URL" 并粘贴到 GitBash

确保 .git 处的配置文件正确...检查 URL 并确保您使用正确的密钥协议 ...ProjectWorkspace/.git/config

  ~Wrong url for git@bitbucket
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = gitbucket.org:Prezyack/project-one-hello.git
    fetch = +refs/heads/*:refs/remotes/origin/*

 ~Wrong URL for SSH...
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = https://emmap1@bitbucket.org/emmap1/bitbucketspacestation.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

我们正在研究 URL... 例如:对于 bitbucket,期望 git@bitbucket.org...如果它是 gitbucket.org。进行必要的更改.. 救球 再次尝试推动。

从源中提取更改时出现类似的错误。 如果您在 Intellij 中尝试通过菜单选项,拉动可能无法直接工作。

转到终端并输入此命令,这应该可以解决: git 拉取 origin master

有时您没有本地 REF 来将该分支推回原点。
尝试

git push origin master:master

这明确指示要推送到(和从)哪个分支

我遇到了同样的问题。当我检查我的配置文件时,我注意到 'fetch = +refs/heads/:refs/remotes/origin/' 与 'url = Z:/GIT/REPOS/SEL.git' 在同一行,如下所示:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = Z:/GIT/REPOS/SEL.git     fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[gui]
    wmstate = normal
    geometry = 1109x563+32+32 216 255

起初我认为这无关紧要,但在看到 Magere 的 post 后,我移动了线路并解决了问题:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = Z:/GIT/REPOS/SEL.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[gui]
    wmstate = normal
    geometry = 1109x563+32+32 216 255

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

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```

这是我更新master分支的方式

删除项目的初始代码后通常会出现这种错误

所以,继续,首先,验证实际的远程版本,然后删除源添加注释,并将 repo 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

对我有用。

git remote add origin https://github.com/repo.git
git push origin master

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

为我解决这个问题的是重新设置我的原点 url:

git remote set-url origin https://github.com/username/example_repo.git

然后我能够成功 git push 我的项目。我不得不这样做,即使当我用 git remote -v 查看我的起源时,url 与我重新设置的相同。

这两个步骤对我有用!

第 1 步:

git remote set-url origin https://github.com/username/example_repo.git

第 2 步:

git push --set-upstream -f origin main

第 3 步:

您 github

的用户名和密码

在第 2 步中,由于变基,实际上需要 -f,引用自

最有可能的问题是您的远程来源未设置

git add .
git commit -m "Your commit message"
git remote add origin https://repositoryurlpath.git
git push origin master

额外提示:

检查是否设置了远程原点

git remote -v

重置远程原点

git remote remove origin
git remote add origin https://repositoryurlpath.git

当您从当前位置推送代码但在克隆任何项目后 Git 会创建其自己的不同文件夹时会发生这种情况,因此我们必须将当前目录更改为所需目录。 如果有这些问题。我们可以通过以下简单的步骤解决它:-

  1. 首先创建一个空文件夹。
  2. 在空文件夹中打开GitGUI/Bash或CMD。 打开空文件夹右击然后打开Git.
  3. 在 Bitbucket 中单击一个克隆(在创建存储库之后)并复制存储库的克隆路径。
  4. 将其粘贴到您的 Git 中并输入。
  5. 克隆后,git创建了一个新文件夹。
  6. 克隆存储库后,将目录更改为 Git 创建的新文件夹。
  7. Paste/puts 您想要的 projects/files/folder 在此文件夹中。
  8. 保留所有项目文件后。再次打开当前文件夹中的GitGUI/Bash
  9. 然后像往常一样输入这些: a.git 添加 --all b. git commit -m “你想要的心声” C。 git push -u origin master.
  10. 最后,按照这些步骤将项目推送到 Bitbucket

谢谢。