リポジトリの使い方

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のリポジトリについてでした。