Git 基本原理
仓库
-
- Git によってバージョン管理されている作業領域
- Git の支配下にあるフォルダ
本地代码库
-
- 自分の作業用 PC 上にある作業用リポジトリ
- 自分の修正は、まず、このリポジトリにコミットされる
远程仓库
-
- 自分の作業用 PC 上以外のリポジトリ
-
- 通常はサーバー
-
- Subversion と違い、複数設置することが出来る
-
- それぞれに、URL とは別に識別用に名前を付ける
これは、サーバー側が名乗るのではなく、クライアント側が勝手につけるもの
習慣上、デフォルトのリモートリポジトリには master と名前をつける
master には一般的にはそのプロジェクトのセントラルリポジトリが指定される
分支
-
- コードの管理の枝
一つのコードの状態をもとにして複数の違った変更を積み重ねることができる。
各リポジトリは複数のブランチを持つ
ブランチは0個でも、1個でもいい
習慣上、デフォルトのブランチの名前は master にする
その他のブランチ名にも Git Flow 、 GitHub Flow などの管理方法がある
Subversion とは異なり、ブランチ別のフォルダが現れコピーが作られるのではなく、ブランチを切り替えると Windows Explorer 上のファイルがそのブランチの状態に書き換えられる
中間ファイルのタイムスタンプなどで問題が発生する場合があるので、ブランチを切り替えた際はビルドツール側でクリーンを行う必要がある
ブランチを切ってもコピーが発生するわけではないので、積極的にブランチを切ろう
更新库操作
添加
-
- ファイルをステージングエリア(Git の管理下)に追加するコマンド
-
- ステージングエリアに入ったファイルをコミットしていくことになる
- GUI 系のツールでは、チェックボックスにチェックを入れるだけのことが多いので特に意識する必要はない
提交
-
- ローカルリポジトリに変更を記録する作業
-
- コミットログをつける(その他に、変更者のメールアドレスと名前をつける)
-
- 習慣上コミットログは、以下の様に書くことになっている(このルールにあわせているツールが多く、GitHub は完全にそうなっている)
1行目にタイトル
2行目は空行
3行目以降に詳細
コミットは、ローカルリポジトリに行われるだけなので、リモートリポジトリには、それだけでは影響はない
合并
-
- あるブランチにある変更を他のブランチにも入れるコマンド
- 互いのブランチにのみある変更の状況によっては、どう統合すべきかを指定する必要がある
在存储库之间的交流
按下按钮
-
- ローカルリポジトリに加えた修正を、リモートのリポジトリに加えるコマンド
-
- ローカルの○○ブランチの変更を、リモートリポジトリ□□の△△ブランチに加えるという形になる
- リモート側に該当する名前のブランチが無い場合は作成する
取得
-
- リモートリポジトリにある変更を、確認するコマンド
- 確認するだけで、ローカルリポジトリに変更は加えない
拉 (lā)
- リモートリポジトリにある変更を、ローカルリポジトリに取り込むコマンド
参考资料
-
- Git チュートリアル
- サルでもわかるGit入門