適当にまとめ。
サルでもわかるGit入門の入門編レベルの内容を自分用に整理。
用語的なもの
リポジトリ
リモートリポジトリとローカルリポジトリがある。
リモートはほかのユーザとも共有している、ローカルは自PC内専用。
ローカルリポジトリのデータを更新してもリモートにはそれだけだと反映されない→ほかの人にはその更新が見えない。
既存の開発プロジェクトに途中から参画する場合なんかは、すでにリモートリポジトリが存在するはずなのでそのリポジトリをコピーしてローカルリポジトリを作成する。
新規プロジェクトに参画する場合は、リモートリポジトリの作成から行う必要あり。まあ、そういうの詳しい人が作ってくれちゃうかもですが。
ローカルリポジトリへの操作
ファイルやディレクトリの追加、変更、削除をローカルリポジトリに反映する操作をコミットと呼ぶ。
SVNだとコミットの段階でほかの人と更新が共有されるので混同に注意。
コミットの際のメッセージは
1行目 : コミットでの変更内容の要約
2行目 : 空行
3行目以降 : 変更した理由
みたいに書くのが良いらしい。
ワークツリーとインデックス
ローカルリポジトリの内容を(SVN的な感覚でいうと)チェックアウトした作業ディレクトリ的なものをワークツリーという。
ローカルリポジトリにコミットしたい内容を登録しておく場所をインデックスという。
なのでSVNみたいにいきなりリポジトリにコミットされるわけではなく、いったんインデックスに登録する作業がGitでは必要。
ワークツリー、ローカルリポジトリ、リモートリポジトリ間でのファイル同期に関する用語
クローン(clone):リモートリポジトリの内容をコピーして自コンピュータにローカルリポジトリを作成する。
プッシュ(push):ローカルリポジトリの更新内容をリモートリポジトリに反映する。競合が発生した場合はマージしないとプッシュできない。
プル(pull):リモートリポジトリの内容をローカルリポジトリに反映する。実際はフェッチしてマージするみたいな感じらしいですが、いったんひとまずこのくらいの解釈で。
ステージ(stage):ワークツリーでの更新内容をインデックスに登録する。gitコマンドだとaddってうっていた気がする。
フォーク(fork):リモートリポジトリの内容をコピーしてリモートリポジトリを作る
その他の用語
origin:しょっちゅう見かけるが要するにリモートリポジトリのことだと思えばよい。origin/masterって書いてあったらリモートリポジトリのmasterブランチってこと。