infoMore than 5 years have passed since last update.
Git の基礎
Last updated at Posted at 2016-08-08
リポジトリ (Repository)
- Git によってバージョン管理されている作業領域
- Git の支配下にあるフォルダ
ローカルリポジトリ (Local Repository)
- 自分の作業用 PC 上にある作業用リポジトリ
- 自分の修正は、まず、このリポジトリにコミットされる
リモートリポジトリ (Remote Repository)
- 自分の作業用 PC 上以外のリポジトリ
- 通常はサーバー
- Subversion と違い、複数設置することが出来る
- それぞれに、URL とは別に識別用に名前を付ける
- これは、サーバー側が名乗るのではなく、クライアント側が勝手につけるもの
- 習慣上、デフォルトのリモートリポジトリには
master
と名前をつける
-
master
には一般的にはそのプロジェクトのセントラルリポジトリが指定される
ブランチ (Branche)
- コードの管理の枝
- 一つのコードの状態をもとにして複数の違った変更を積み重ねることができる。
- 各リポジトリは複数のブランチを持つ
- 習慣上、デフォルトのブランチの名前は
master
にする
- その他のブランチ名にも
Git Flow
、 GitHub Flow
などの管理方法がある
- Subversion とは異なり、ブランチ別のフォルダが現れコピーが作られるのではなく、ブランチを切り替えると Windows Explorer 上のファイルがそのブランチの状態に書き換えられる
- 中間ファイルのタイムスタンプなどで問題が発生する場合があるので、ブランチを切り替えた際はビルドツール側でクリーンを行う必要がある
- ブランチを切ってもコピーが発生するわけではないので、積極的にブランチを切ろう
リポジトリへの更新作業
Add
- ファイルをステージングエリア(Git の管理下)に追加するコマンド
- ステージングエリアに入ったファイルをコミットしていくことになる
- GUI 系のツールでは、チェックボックスにチェックを入れるだけのことが多いので特に意識する必要はない
コミット (Commit)
- ローカルリポジトリに変更を記録する作業
- コミットログをつける(その他に、変更者のメールアドレスと名前をつける)
- 習慣上コミットログは、以下の様に書くことになっている(このルールにあわせているツールが多く、GitHub は完全にそうなっている)
- コミットは、ローカルリポジトリに行われるだけなので、リモートリポジトリには、それだけでは影響はない
マージ (Merge)
- あるブランチにある変更を他のブランチにも入れるコマンド
- 互いのブランチにのみある変更の状況によっては、どう統合すべきかを指定する必要がある
リポジトリ間でのやりとり
プッシュ (Push)
- ローカルリポジトリに加えた修正を、リモートのリポジトリに加えるコマンド
- ローカルの○○ブランチの変更を、リモートリポジトリ□□の△△ブランチに加えるという形になる
- リモート側に該当する名前のブランチが無い場合は作成する
フェッチ (Fetch)
- リモートリポジトリにある変更を、確認するコマンド
- 確認するだけで、ローカルリポジトリに変更は加えない
プル (Pull)
- リモートリポジトリにある変更を、ローカルリポジトリに取り込むコマンド
参考資料
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
What you can do with signing up