第Ⅱ部Gitの基礎知識

第II部では、Gitがファイルをどのように管理しているかに光を当て、インデックスの重要性とインデックスがこのプロセスにどのように関わっているかを説明し、コミットオブジェクトとブランチがGitリポジトリで果たす重要な役割を詳しく見ていく。

先に進む前に、ここで説明するテーマをこの順序で取り上げていく理由を説明しておきたい。

2.3 Gitの内部動作:コンセプトはどのように機能しているか」では、Gitオブジェクトストアに含まれるオブジェクトの内部構造を詳しく説明した。オブジェクトがどのように作られ、オブジェクト相互のリンクがいつ作られるかを見てみよう。

まず、空のディレクトリを作って、treeコマンドで内容を見てみる。

$ mkdir myrepo && cd myrepo 

$ git status 
fatal: not a git repository (or any of the parent directories): .git
致命的エラー: gitリポジトリではない(親ディレクトリも): .git

$ tree .git 
.git [error opening dir]
.git [ディレクトリオープンエラー]

0 directories, 0 files

このディレクトリはGitリポジトリではないので、.gitディレクトリはない。次に、空のGitリポジトリを初期化し、ディレクトリの内容をもう1度見てみよう。

$ git init -b main 
Initialized empty Git repository in .../myrepo/.git/

$ tree .git  .git ├── HEAD ├── config ├── ...

Get 実用 Git 第3版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.