私は研究者のグループには新しく、バージョン管理のためにgitを使用しています。私たちはすべて同じマシンで作業します。すでにgitリポジトリがあり、他の人はそれぞれ独自のブランチを持っています。私はボブという名前の私の枝を作る必要があります。私のgitリポジトリは本当に裸ですか?
-bash-4.2$ pwd
/export/home/git/MAS2.5.git
-bash-4.2$ git branch
alice
* master
ton
-bash-4.2$ git checkout -b bob ton
fatal: This operation must be run in a work tree
最もGitが懸念あなた自身のフォークから始まる、またはローカルにいくつかのリモートからのクローニングを案内するが、これは、同じマシン上のすべてであるので、関連する質問を見つけることは困難でした。たとえば、この質問:fatal: This operation must be run in a work treeには、ユーザーのリポジトリが裸であるという解決策があるようです。しかし、このリポジトリは裸ではありません、アリスとトンはここ数か月間働いていますよね?
「ベア」だから裸のレポはあなたのチェックアウトを行うことができますし、その後になるクローニング
Gitのコンテキストでは "空"を意味するわけではありません。 「あなたが直接作業するファイルではなく、Gitファイルだけを含んでいる」という意味です。 – jwodder
リポジトリを別の場所に複製するだけで、作業ディレクトリが作成されます。 'git push origin your_local_branch'を使ってブランチを元の場所にプッシュすることができます。あなたはとにかく裸のレポで働くべきではありません。他のディレクトリ 'cd/some/other/directory'に行き、' git clone/export/home/git/MAS2.5.git'を使ってクローンしてください。 – francium
これら2つのコメントは私の問題を解決します。あなたがもう一度説明すると、私の理解が増します。ブランチを作成するためにこのリポジトリをクローンする必要がある場合は、2つのリポジトリが作成されます。それは、リモートとローカルの設定の違いで私にとっては意味がある。しかしこれはただのマシンなので、リポジトリが1つしかないはずはありませんか?おそらく私は、リモートにアクセスする異なる地元のように複数のユーザーを考える必要がありますか? –