Gitプッシュ:「致命的な 'origin'はgitリポジトリではないようです-致命的ですリモートリポジトリから読み取れませんでした。」


118

同様の質問がすでに出されていることは知っています。

しかし、私の問題は以前に犯した間違いが原因であると私は信じています。

私ができるように、すべてがスムーズに機能していました:

  • git add . ローカルリポジトリのすべてのファイル。
  • git commit -m "message here" コミットにメッセージを追加します。
  • git push origin master ファイルをGitHubにアップロードします。
  • git push heroku master Herokuにファイルをアップロードします。

ただし、ある時点add-calendar-modelで、アプリ開発の次のステップが南になる場合に備えて、ローカルに呼び出される新しいブランチを作成しました...

...これはまさに起こったことです。

しかし、多くの試みにもかかわらず、私はなんとかして最初のコード(つまり、新しいブランチを作成する前のコード)をmasterブランチからローカルリポジトリに取得できませんでした。

だから、私は手動で自分のローカルリポジトリからすべてのファイルを削除することを決めたgit clonemasterのGitHubからの分岐。

このようにして、すべてのファイルを元に戻しましたが、リモートリポジトリにこれ以上プッシュできなくなりました。

git push origin add-calendar-modelまたはを実行しようとするとgit 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にはあまり慣れていません。これを修正する方法がわからないことを認めざるを得ません。

何か案が?


私は同様のエラーがありましたが、私の問題は、私が試していた現在のフォルダーの親ディレクトリでgitを初期化したことでした。誰かがまだ直面している場合に備えて、gitが初期化されている場所を確認して、再試行できます。
Himanshu Kriplani

回答:


214

まず、実行してオリジンが設定されていることを確認します

git remote -v

これにより、プロジェクトのすべてのプッシュ/フェッチリモートが表示されます。

これが出力なしで戻る場合は、最後のコードブロックにスキップします。

リモートの名前/アドレスを確認する

これにより、リモートが設定されていることが示される場合は、リモートの名前がコマンドで使用しているリモートと一致していることを確認してください。

$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

リモートの名前を変更したり、リモートの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 master

それは私のためssh://に前になしで働いたgit@example.com:1234/myRepo.git
Carol-Theodor Pelu

新しいリポジトリのプッシュエラーについてもサポートしていただける場合、私はこの質問を読んでいましたか?
StaticVariable 2018

12

マット・クラークが上で述べたように

ただし、オリジンが設定されていない可能性があるため、削除手順をスキップして、単に追加しようとすると、これをクリアできます。

git remote add origin <"clone">

「クローン」は単にGitHubリポジトリに移動し、「HTTPSクローンURL」をコピーしてGitBashに貼り付けるだけです。


3

.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。必要な変更を加えてください。SAVEもう一度押してみてください。


1

わたしにはできる。

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

ローカル作業ディレクトリのオリジンにリポジトリURLを追加します


0

オリジンから変更をプルしているときに同様のエラーが表示されます。メニューオプションからIntellijで試行している場合、プルは直接機能しない可能性があります。

ターミナルに移動して次のコマンドを入力すると問題が解決するはずです:git pull origin master


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

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

0

これは私がマスターブランチを更新した方法です

$ 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

1
質問に対処し、読者が理解しやすくなるように、回答に説明を追加してください。現在、それはいくつかの逸話のように読み、一般的なケースでは機能しません(たとえばhttps://github.com/、ウェブサイトのルートとgitリポジトリです)
Kache

-3

ブランチをオリジンに戻すためのローカルREFがない場合があります。
試す

git push origin master:master

これは、どのブランチに(およびそこから)プッシュするかを明示的に示します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.