Gitのリポジトリについて、作り方や使い方を説明します。
新しいリポジトリを作る
リポジトリ(repository)とは、そこで行う作業の変更履歴や様々な情報が管理されるストレージ領域のことです。
指定したディレクトリに、新しくリポジトリを作るコマンドは以下になります。
git init ディレクトリ名
ディレクトリ名を省略した場合は、カレントディレクトリにリポジトリを作成します。
リポジトリは「.git」という名前のディレクトリとなり、その中に管理用のファイルが保存されるようになります。
■例1
例1ではローカルPCのに「sample」ディレクトリを作成し、リポジトリを作成しました。
これは作成されただけで、まだ何も実行されていません。
しかし、Gitのリポジトリファイルが作成され、「sample」ディレクトリは普通のディレクトリから、バージョン管理の作業ディレクトリになりました。
作業ディレクトリとリポジトリは別です。
上記の例では、sampleディレクトリを作成し、sampleディレクトリのなかにリポジトリを作成しました。
Gitがファイルを追跡管理ができるのは、リポジトリ内のファイルと、作業ディレクトリ内のファイルの違いを検出できるからです。
Gitのリポジトリは、実際には「.git」という名前のディレクトリの中にあります。
コマンドラインでは、「.」で始まるファイル名、ディレクトリ名はlsコマンドの表示では非表示になっています。
ls -A とすることで、表示されます。
git statusとgit add
作業ディレクトリの状態を確認するには、以下のコマンドを使用します。
git status
まだリポジトリは空なので、以下のように表示されます。
1行目:on branch master :現在のブランチ名(master)
2行目:No Commits yet:現在のコミットを識別するメッセージ
3行目:nothing to commit(create/copy files and use “git add”to track):何もコミットされていない、ファイルの追跡(track)を開始するには、ファイルを作成するか、コピーして、git addを使う、と教えてくれています。
まず、ファイルを作成します。
$cd sample
$echo -n contents > test.bat
$git status
2行目のecho -n contents > test.bat は、contentsという文字列を「test.bat」ファイルに出力しています。
実行すると、sanpleディレクトリには、test.batファイルが作成されています。
3行目のgit statusは、以下のように表示されます。
前回と異なり、Gitが作業ディレクトリ内に新しいファイルを検出し、そのファイルを追跡していない(untracked)と言っています。
最後の行を見ると、「コミットに何も追加されていないが、追跡していないファイルがある。git addを使うと追跡できる」と教えてくれています。
では、git addを実行します。
$git add test.bat
$git status
2行目のgit statusは、以下のように表示されます。
最後の行で、新しいファイル(new file)があること、それがコミットできることを教えてくれています。
git addを実行すると、以下の図のように、test.batファイルが、リポジトリに追加されます。
git commit
git addはリポジトリにファイルを追加しますが、まだ、ファイルをリポジトリにコミットしていません。
ファイルをリポジトリにコミットすると、ファイルがリポジトリに保存され、その記録が履歴としてリポジトリに保存されます。
では、git commitを実行します。
$git commit -m “first commit message”
-mはメッセージを指定する場合に使用します。
実行すると、以下のように表示されます。
[master (root-commit) c16d8f0] という最初の行は、これがルートコミットと言っています。
ルートコミットとは、このリポジトリで、git commitを実行したのはこれが初めて、という意味です。
first commit message は、先ほどgit commitを実行したときに、-m に指定した文字列です。
次に変更されたファイルの数(今回は1ファイル)と変更の内容(今回は追加:insertion)と言っています。
100644はファイルの権限を表す数字です。
git log
git logコマンドは、そのリポジトリに対して行われたすべてのコミットを表示します。
では、git logコマンドを実行します。
$git log
実行すると、以下のように表示されます。
authorには、最初にgit configで設定したユーザ名とメールアドレスが表示されます。
Dateには、コミットした日時が表示されます。
最後の行には、git commitしたときに -mで設定したメッセージが表示されます。
コミットが複数回実行されている場合は、複数表示されます。
ファイルを確認する場合は、–statスイッチを入力します。
$git log –stat
実行すると、以下のように表示されます。
まとめ
Gitのリポジトリについて、作り方や使い方を説明しました。
以上、Gitのリポジトリについてでした。