Git入門1

サルでもわかるGit入門 http://www.backlog.jp/git-guide の入門編を見たほうが、イラストもあってわかりやすいと思います。

Git

バージョン管理システム。バックアップ管理や、複数人で編集する場合なども差分を表示したり上書きを防いだり便利。

リポジトリ

ファイルやディレクトリの状態を記録する場所。変更履歴を記録する。

リモートリポジトリ
専用のサーバに配置して複数人で共有するためのリポジトリ
ローカルリポジトリ
ユーザーのローカルマシン上に配置するリポジトリ。全く新しいリポジトリを作る方法と、リモートリポジトリをコピーする方法の2種類ある。

2種類のリポジトリを使い分けることで、普段の作業はローカルリポジトリで行い、キリの良い所でリモートリポジトリにアップロードして公開。あるいはリモートリポジトリから他人の作業内容を取得することも可能。

コミット

ファイルやディレクトリの追加/変更をリポジトリに記録すること。コミットを実行すると、前回からの差分を記録したリビジョンと呼ばれるものが作成される。

コミットするときは、バグ修正、機能追加などひとつひとつの変更単位ごとに実行しておくと、履歴を追うときにわかりやすくなる。

コミットするときは、コミットメッセージの入力が必須。変更内容のわかりやすいコミットメッセージを書くことが大切。
1行目:コミットでの変更内容の要約
2行目:空行
3行目:変更した理由

ワークツリーとインデックス

ワークツリー
Gitの管理下に置かれた、実際に作業をしているディレクトリのこと
インデックス
リポジトリにコミットする準備をするための場所。ワークツリー(ディレクトリ)の中にあるファイルのうち、どれをリポジトリにコミットするかという設定?

コミットを実行したとき、ワークツリーから直接リポジトリ内に状態を記録するのではなく、その間に設けられているインデックスの設定された状態を記録するようになっている。なので、コミットでファイルの状態を記録するためには、まずインデックスにファイルを登録する必要がある。

インデックスを間に挟むことで、ワークツリー内の必要ないファイルを含めずにコミットを実行したり、ファイルのいびつの変更だけをインデックスに登録してコミットすることが出来る。