Git push: “致命错误:'origin'似乎不是一个git仓库 - 致命错误:无法从远程仓库读取”。

188

我知道类似的问题已经被问过了。

但是,我相信我的问题是由于我之前犯的一个错误造成的,因此不同:让我解释一下。

一切都很顺利,我可以:

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

然而,在某个时候,我在本地创建了一个名为add-calendar-model的新分支,以防万一应用程序开发的后续步骤出现问题...

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

然而,尽管尝试了多次,我仍然无法将最初的代码(即在创建新分支之前的代码)从master分支获取到我的本地存储库。

所以,我决定手动从我的GitHub上master分支中删除所有文件并git clone它。

这样,我就把所有的文件都找回来了,但现在,我无法再推送到远程存储库。

每次我尝试运行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不是很熟悉,正如你现在所猜测的那样,我必须承认我不知道该如何解决这个问题。

有什么想法吗?


2
我曾经遇到过类似的错误,但我的问题是我在当前文件夹的父目录中初始化了git。如果还有人遇到同样的问题,可以查看git的初始化位置,然后再试一次。 - Himanshu Kriplani
17个回答

1

我遇到的问题是重置我的源URL解决了这个问题:

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

然后我可以成功地git push我的项目。 尽管当我使用git remote -v查看我的来源时,url与我重新设置的相同,但我仍然需要这样做。


0

首先使用以下命令进行远程详细输出:

git remote -v

并且查看类似于此的结果:

origin  https://github.com/MahfuzKhandaker/StudyOnline.git (fetch)
origin  https://github.com/MahfuzKhandaker/StudyOnline.git (push)

然后您需要运行以下命令来删除源代码:

git remote remove origin

最后你必须添加 origin:

git remote  add origin  https://github.com/MahfuzKhandaker/StudyOnline.git

然后运行以下命令:

git branch -M main
git push -u origin main

希望这能帮到你!


0

当你从当前位置推送代码时,如果克隆了任何项目,Git会创建自己的不同文件夹,因此我们必须将当前目录更改为所需目录。

如果遇到这种问题,我们可以按照以下简单步骤解决:
  1. 首先创建一个空文件夹。
  2. 在空文件夹中打开Git GUI/Bash或CMD。 打开空文件夹,右键单击,然后打开Git。
  3. 在Bitbucket中点击克隆(在创建存储库之后),并复制您存储库的克隆路径。
  4. 将其粘贴到您的Git中并按Enter键。
  5. 克隆后,Git会创建一个新文件夹。
  6. 将您的目录更改为Git在克隆存储库后创建的新文件夹。
  7. 将所需的项目/文件/文件夹粘贴/放入此文件夹中。
  8. 在当前文件夹中再次打开Git GUI/Bash。
  9. 然后像往常一样输入以下内容: a.git add --all b. git commit -m "您所需的心声" c. git push -u origin master。
  10. 最终,在按照这些步骤操作后,您可以将项目推送到Bitbucket

Error:-fatal: Not a git repository (or any of the parent directories):

谢谢。


0

你只需要将github.com添加到你的host文件中:

ssh-keygen -f "/home/<user>/.ssh/known_hosts" -R "github.com"

0

我遇到了同样的问题。当我检查我的配置文件时,我注意到'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的帖子后,我移动了那一行代码,问题就解决了:

[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

0

你可以看到许多解决问题的方法,但我建议先尝试这个。它完美地适用于我。

    step 1. git remote -v 
    step 2. git remote rm origin
    step 3. git add .
    step 4. git commit -m "your commit"
    step 5. git remote set-url origin https://github.com/<your_github_username>/<repository_name>.git
    step 6. git push --set-upstream -f origin main

注意:如果出现错误:没有这样的远程“origin”,则在第5步之前使用此命令 -。
git remote add origin https://github.com/<your_github_username>/<repository_name>.git

然后再从步骤5开始


请按照这6个步骤进行,谢谢。



-4
有时您没有本地REF将该分支推回原点。
尝试一下。
git push origin master:master

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接