

Git初心者です。  
学習の１つとして「[Git をはじめからていねいに](https://github.com/takanabe/introduction-to-
git)」を行っています。

その中の9番「[みんなでつかう -
ベアリポジトリとクローン,リモートリポジトリ](https://github.com/takanabe/introduction-to-
git/blob/master/09_clone.md)」で、自身が作ったリポジトリを仮のリモートリポジトリとするため clone（bare） 。

その後、その仮のリモートリポジトリを自分のリモートリポジトリとするため fetch
する作業があるのですが、そこで下記のようなエラーがでて先にすすむことができません。

> fatal: 'shared_repo.git' 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.

この原因はわかるでしょうか。


CC BY-SA 4.0
2020-01-09T09:06:06.213
62099
2021-01-21T02:04:55.530
2020-01-09T10:16:25.477
3060
37386
question
git
fetchするとエラーになる原因がわかりません。


【自己解決しました】ありがとうございます。

「Bさん」から「git remote -v」をすると

> origin /Users/MBP/shared_repo.git (fetch)  
>  origin /Users/MBP/shared_repo.git (push)

だったので、「Aさん」から「git fetch /Users/MBP/shared_repo.git」て、コマンドが通りました。


CC BY-SA 4.0
2020-01-09T10:07:30.373
62102
2020-01-09T10:07:30.373
37386
62099
answer


質問とコメントの文面とリンク先のドキュメントから推測すると、  
`/Users/MBP` ディレクトリ以下に次の3つのディレクトリが存在する状況かと思います。

  * `takashis_workspace` (最初に作成したリポジトリ。remoteリポジトリ設定無し)
  * `shared_repo.git` (`takashis_workspace` をcloneしたbareリポジトリ)
  * `yuusukes_workspace` ( `shared_repo.git` をcloneしたリポジトリ)

この状態から、 `takashis_workspace` に対して、 remoteリポジトリを設定する作業があります。

> たかしのほうからも「みんなで触るリポジトリ」に対して変更を反映できたりそこから変更を取得してきたりできるように、remote
> リポジトリを設定しておきましょう。remoteリポジトリを追加するためには、`git remote add <リモートリポジトリの名前>
> <リモートリポジトリの場所>` です。
[code]

>     $ git remote add origin path/to/shared_repo.git
>  
[/code]

このコマンドを実行した場所は `/Users/MBP/takashis_workspace` だったかと思います。その場合、実際に実行すべきコマンドは

[code]

    $ git remote add origin ../shared_repo.git # 相対パス指定
    
[/code]

あるいは

[code]

    $ git remote add origin /Users/MBP/shared_repo.git # 絶対パス指定
    
[/code]

になります。  
今回想定通り動作していないのは、

[code]

    $ git remote add origin shared_repo.git
    
[/code]

という存在しない場所を指定してしまったためでしょう。

* * *

`origin` が指すリポジトリの場所を修正すればドキュメントの通りに戻ります。

やり方は複数種類ありますが、一旦 `origin` の間違った設定を削除して正しい値を設定し直すのがわかりやすいかと思います。

具体的には、 `/Users/MBP/takashis_workspace` ディレクトリで次を実行します:

[code]

    $ git remote rm origin
    $ git remote add origin ../shared_repo.git
    
[/code]

* * *

[リポジトリを明示する方法](https://ja.stackoverflow.com/a/62102/2808) もありますが、この場合 `origin`
の設定が誤ったままなので、以降のドキュメントの説明通りに動作しないと思います。


CC BY-SA 4.0
2020-01-10T05:21:33.740
62125
2020-01-10T05:26:39.800
2020-01-10T05:26:39.800
2808
2808
62099
answer