空のリポジトリをテストする
このステップでは、まだコミットがない Git リポジトリで git log
と git rev-list --count HEAD
を実行した場合に何が起こるかを調べます。これにより、最初にリポジトリを初期化したときに最初の実験で見た出力を理解するのに役立ちます。
まず、新しい空のディレクトリを作成し、その中に Git リポジトリを初期化しましょう。~/project
ディレクトリにいることを確認してください。
cd ~/project
mkdir empty-repo
cd empty-repo
git init
空の Git リポジトリが初期化されたことを示すメッセージが表示されるはずです。
Initialized empty Git repository in /home/labex/project/empty-repo/.git/
次に、この空のリポジトリで git log
を実行しましょう。
git log
以下のような出力が表示されます。
fatal: your current branch 'master' does not have any commits yet
このメッセージは、現在のブランチ(master
)にコミットがないことを正確に伝えています。git log
は履歴を表示するためにコミットが必要なので、表示するものがないと報告します。
次に、git rev-list --count HEAD
を試してみましょう。
git rev-list --count HEAD
今回は、以下のような出力になります。
0
これは理にかなっています!コミットがないため、HEAD
から到達可能なコミットの数はゼロです。
空のリポジトリでのこれらのコマンドの出力と、1 つのコミットがある my-time-machine
リポジトリでの出力を比較することで、これらのコマンドの機能に対する理解が深まります。git log
はコミットの詳細を表示し、git rev-list --count
は単純なコミット数を提供します。両方のコマンドは、リポジトリの履歴の状態を正確に反映しています。
次のステップでは empty-repo
ディレクトリは必要ないので、削除することができます。
cd ~/project
rm -rf empty-repo