GitHub入門2

前回の続きです。

リポジトリをあつかう

まずはバージョン管理を行いたいディレクトリにたいしてgit initを行います。
今回はhogeディレクトリを作成し、リポジトリの初期化を行っています。

$ mkdir hoge
$ cd hoge
$ git init
$ Initialized empty Git repository in ... /hoge/.git/

初期化に成功していれば.gitディレクトリが作成されます。
この.gitディレクトリに現在のディレクトリ以下を管理するリポジトリデータが格納されます。

リポジトリの状態を確認する際はgit statusコマンドを使用します。
本当によく利用するコマンドなので覚えておきましょう。

$ git status
# On branch master
#
# Initial commit
#
noting to commit (create/copy files and use "git add" to track)

git statusをたたくと、現在いるブランチが表示されます。masterブランチにいるといっていますね。
次にコミットがないと言ってます。現時点では作成したこのリポジトリには何のファイルの何の状態も記録されていないことになります。そこで最初のコミットをするために管理する対象になるREADME.mdファイルを作成することにします。

$ touch README.md
$ git status
# On branch master
#
# Initial commit
## Untracked files:# (use "git add <file>..." to include in what will be committed)#
#        README.md
noting added to commit but untracked files present (use "git add" to track)

Untracked filesにREADME.mdが追加されています。
これだけではGitリポジトリのバージョン管理の対象としてファイルは登録されていません。
そこで、ファイルをGitリポジトリの管理対象とするためにgit addコマンドを利用します。

$ git add README.md
$ git status
# On branch
#
# Initial commit
#
# Changes to be committed:
#     (use "git rm --cached <file>..." to unstage)
#
#         new file:    README.md
#

これでステージ領域(インデックス)と呼ばれる場所にファイルを登録しました。
次に今登録したファイルを実際にリポジトリの歴史として記録するコマンド、git commitを使います。

$ git commit -m "First commit"
[master (root-commit) 3f136ght First commit
    1 file changed, 0 insertions(+), 0 deletions(-)
    create mode 100644 README.md

-mオプションの”First commit”はコミットメッセージと呼ばれるもので、このコミットに関する要約を記述しています。
コミットされたログを確認するにはgit logコマンドをつかいます。
誰がいつコミットやマージをしてどのような差分が発生したのかなどを確認できます。

$ git log

commit 9afea324458gjkhlhvlkjsf49hgdf3j4frg45hs57342v
Author: inappe <inappe@example.com>
Date: Sun May June 4 15:00:34 2014 +0900

First commit

指定したディレクトリ、ファイルのみのログを表示することもできます。
git log README.mdこのようにすることでそのディレクトリ以下、またはファイルに関するログだけを表示してくれます。
またgit log -p README.mdのように-pをつけることでそのコミットで行われたファイルの差分も表示できます。

まとめ

今回はリポジトリを作って基本的な状態確認、操作についてかきました。
次回はブランチの操作、マージなどについて触れようと思います。
今年のTresure生の参考資料になるぐらいに頑張ろう(*'▽')