致命的: 'origin'はgitリポジトリではないようです


97

私は、リポジトリをしたmoodle私に私のGitHubアカウントに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/*

.git / configの内容を印刷して、ここに追加してください
pmod

@pmod:更新された質問をご覧ください。
Xan

ローカルマシンでクローンを作成したフォルダーには、.gitフォルダーが含まれている必要があります。
pmod 2013年

@xancat $(git rev-parse --show-toplevel)/.git/config
bereal

@pmod:はい、見つけました。私の更新された質問をご覧ください。
Xan

回答:


115

$HOME/.gitconfigあなたのあるグローバル gitのための設定。
ある三つのレベル設定ファイルは

 cat $(git rev-parse --show-toplevel)/.git/config

berealによって言及された)は、ローカル構成であり、複製したリポジトリのローカルです。

リポジトリ内から入力することもできます:

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」欠落していますへの参照あなたのフォークを。
「を参照してくださいとの違いは何であるoriginupstreamgithubのでは

ここに画像の説明を入力してください


やってはgit remote -vいます: upstream git://git.moodle.org/moodle.git (fetch) upstream git://git.moodle.org/moodle.git (push)
XAN

@xan「上流」あなたはフォークしているレポであるあなたはgithubの上のあなたのフォークです起源を、欠けている参照してください。。stackoverflow.com/a/15632224/6309stackoverflow.com/a/9257901/6309を
VonC

フォークをマスターに変更するにはどうすればよいですか?
Wolfpack'08

@ Wolfpack'08 "フォーク"は、リポジトリ(複数のブランチを持つ)を意味します。ブランチへの変更は、gitスイッチを含むローカル操作です:stackoverflow.com/a/57066202/6309。あなたにとって、「フォークをマスターに変える」とはどういう意味ですか?(リモートGitHubフォークの)ローカルクローンリポジトリのローカルブランチを変更しますか?
VonC

1
リモートリポジトリを所有している場合は、それにプッシュするだけですgit push -u ghy master
VonC

22

GitHubでリポジトリの名前を変更したときも、同じ問題に直面しました。エラーが発生した時点でプッシュしようとしました

fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

を使用してURLを変更する必要がありました

git remote set-url origin ssh://git@github.com/username/newRepoName.git

この後、すべてのコマンドが正常に機能し始めました。変更を確認するには、

git remote -v

私の場合、変更が成功した後、名前が変更された正しいリポジトリがURLに表示されました

[aniket@alok Android]$ git remote -v
origin  ssh://git@github.com/aniket91/TicTacToe.git (fetch)
origin  ssh://git@github.com/aniket91/TicTacToe.git (push)

14

プルしようとする他のブランチが同期していない可能性があります。リモートを追加および削除する前に(マスターからプルしようとしている場合)

git pull origin master

私にとっては、その単純な呼び出しがそれらのエラーメッセージを解決しました:

  • 致命的: 'master'はgitリポジトリではないようです
  • 致命的:リモートリポジトリから読み取れませんでした。

3

最初にリモートオリジンを作成してみてください。リモートリポジトリの名前を変更したために見つからない可能性があります

git remote add origin URL_TO_YOUR_REPO


2

これはあなたの質問には答えませんが、私は同様のエラーメッセージに直面しましたが、別の理由によるものです。情報収集のために投稿させてください。

ネットワークドライブにgitリポジトリがあります。このネットワークドライブRAIDと呼びましょう。私はこのレポをローカルマシン(LOCAL)と私の数値処理クラスター(CRUNCHER)に複製しました。便宜上、自分のアカウントのユーザーディレクトリをローカルマシンのCRUNCHERにマウントしました。そのため、SSH端末で作業を行わなくても、CRUNCHERでファイルを操作できます。

今日、私は自分のローカルマシンを介してCRUNCHERのリポジトリのファイルを変更していました。ある時点でファイルをコミットすることにしたので、コミットを行いました。変更されたファイルの追加とコミットの実行は期待どおりに機能しましたが、電話git pushをかけると、質問に投稿されたものと同様のエラーメッセージが表示されました。

その理由は、pushローカルのCRUNCHERのリポジトリ内から呼び出したためです。そのため、設定ファイルのすべてのパスは明らかに間違っていました。

自分の過失に気づいたとき、ターミナル経由でCRUNCHERにログオンし、コミットをプッシュすることができました。

私の説明が理解できない場合や、私の投稿が不必要だと感じた場合は、遠慮なくコメントしてください。


1

.git / configでsshではなくパスfsとしてリモートオリジンを設定すると、git pull origin branchnameで同じエラーが発生しました。

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ファイルが同じサーバー上にあるためです。


確かに!/後のドメインをする必要がある:SSHを使用している場合。単にで確認してくださいgit remote -v
Noam Manos
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.