Git Graph を使った GitHub入門
GitHubは分散型のバージョン管理システム。CVSなどは集中型。分散型は難しいけど、オープンソースのような大勢の人が強調して開発するものには適している。らしい。なので、最近はGitHubなんだって。
コマンド
- Add Tag
- Create Branch…
- Checkout…
- Cherry Pick…
- Revert…
- Merge into current branch…
- Rebase current branch on this Commit…
- Reset current branch to this Commit…
- Copy Commit Hash to Clipbord
- Copy Commit Subject to Clipbord
Pull into current branch…
流れ
- 今回やりたい作業を考える。これが、コミット時のタグになる。(例えばゲームのオープニング部分を作るなど)
- 作業に取り掛かる。複数のファイルが変更される。このとき、必要があれば、オープニング部分以外の変更をしてもOK。
- 作業が完了したら、ステージング作業をする。今回の作業内容(オープニング部分)に該当するファイルを選択(
git add)する。 - ステージング作業が終わったら、作業内容をタブに記述して、コミット(
git commit)する。
基本的な用語
| リポジトリ(Repository) | ソースコードや画像などのデータが、最初のバージョンから現在のバージョンまで、全て格納されている格納庫。 |
| フォーク | の人のリポジトリを拝借して自分のものにする。今回は二人で共通のリポジトリを使う形にするため、放置。 |
| クローン | リモートリポジトリをローカルにダウンロードして、ローカルリポジトリを作る |
ローカルリポジトリでの話
| ステージング(Stageing) | コマンドで言うgit add相当する。今回のコミットに含めたいファイルを列挙するための作業。基本的には変更のあったファイルはすべてステージングされることになる。が、今回のコミット内容に関係がないが、先行して修正してあって、次回以降のコミットに含めたいようなものは除外しておく。 |
| コミット(Commit) | ああああああ |
| ブランチ | 平行世界の最前線 |
| master | 最初から存在するブランチ。本流。 |
| origin/master | ローカルに存在するリモートリポジトリのマスターのコピー(読み取り専用)。originはリモートリポジトリのこと。masterは上記通り、本流。 |
| HEAD | 現在位置(どこのブランチにいるのか) |
| マージ | あああああ |
| コンフリクト | 同じ部分を修正してしまってマージができない場合 |
| リバート(revert) | 消したい場合 |
| リベース(rebase) | マージと似ているんだけど、難しいから使わないほうがいい。今回は放置 |
リモートリポジトリの話
| プッシュ | 自分の更新内容(ローカルリポジトリ)をリモートリポジトリに反映させる |
| プル | リモートリポジトリの更新情報を、自分の環境(ローカルリポジトリ)に反映させる |