非ベア (Non-Bare) リポジトリでのテスト
このステップでは、ベア (bare) リポジトリを作成し、その中で git rev-parse --is-bare-repository
と git rev-parse --is-inside-work-tree
コマンドを使用して、非ベアリポジトリとの出力の違いを観察します。
まず、~/project
ディレクトリに戻りましょう。
cd ~/project
次に、ベアリポジトリ用の新しいディレクトリを作成し、ベアリポジトリとして初期化します。
mkdir my-bare-repo.git
cd my-bare-repo.git
git init --bare
以下のような出力が表示されるはずです。
Initialized empty Git repository in /home/labex/project/my-bare-repo.git/
ディレクトリ名に .git
拡張子が付いていることに注意してください。これはベアリポジトリの一般的な命名規則です。--bare
フラグは、Git に作業ディレクトリを持たないリポジトリを作成するよう指示します。
my-bare-repo.git
ディレクトリ内にいる状態で、git rev-parse --is-bare-repository
コマンドを実行しましょう。
git rev-parse --is-bare-repository
今回は、以下の出力が表示されるはずです。
true
これにより、このリポジトリが確かにベアリポジトリであることが確認されます。
次に、このベアリポジトリ内で git rev-parse --is-inside-work-tree
コマンドを実行しましょう。
git rev-parse --is-inside-work-tree
出力は表示されないはずです。これは、ベアリポジトリには作業ツリー (working tree) がないため、コマンドは false を返し (これにより出力が表示されません) ます。
このステップと前のステップの出力を比較することで、ベアリポジトリと非ベアリポジトリの主要な違いが明確になります。ベアリポジトリは共有と共同作業に使用され、非ベアリポジトリはファイルの作業コピーを使った開発に使用されます。
これで、git rev-parse
を使用してベアリポジトリと非ベアリポジトリを区別することに成功しました。これは、特にチーム環境で Git を使用する際の基本的な概念です。