- ローカルリポジトリ … 自分の手元のマシン上に配置するリポジトリ(個人用)
- リモートリポジトリ … サーバ上に配置して共有するためのリポジトリ(共用)
+-------------------+
| リモート |
+-------------------+
clone/pull↓ ↑push clone/pull↓ ↑push
+-----------------+ +-----------------+
| ローカル | | ローカル |
+-----------------+ +-----------------+
- ワークツリー … 現在作業しているディレクトリ
- インデックス … リポジトリとワークツリーの中間
+------------+ +-----------+ +---------+
| ワークツリー | | インデックス | |リポジトリ|
+------------+ add +-----------+ commit +---------+
|変更1 |------->|変更1 | ------>|変更1 |
|変更2 | | | | |
|変更3 |------->|変更3 |------->|変更3 |
+------------+ +-----------+ +---------+
- git checkoutにより変更を戻すことができるが、tree-ish(例:HEAD,tags,branch names)を指定しない場合インデックスの状態に戻すということ(リポジトリの状態に戻すわけではない)
- リポジトリの状態に戻したいのであれば
- commit(例:HEAD)を指定しない場合インデックスとワークツリーの差分を表示する(リポジトリではない)
- リポジトリとインデックス間の差分は
- リポジトリとワークツリー間の差分は
add Add file contents to the index
bisect Find by binary search the change that introduced a bug
branch List, create, or delete branches
checkout Checkout a branch or paths to the working tree
clone Clone a repository into a new directory
commit Record changes to the repository
diff Show changes between commits, commit and working tree, etc
fetch Download objects and refs from another repository
grep Print lines matching a pattern
init Create an empty git repository or reinitialize an existing one
log Show commit logs
merge Join two or more development histories together
mv Move or rename a file, a directory, or a symlink
pull Fetch from and merge with another repository or a local branch
push Update remote refs along with associated objects
rebase Forward-port local commits to the updated upstream head
reset Reset current HEAD to the specified state
rm Remove files from the working tree and from the index
show Show various types of objects
status Show the working tree status
tag Create, list, delete or verify a tag object signed with GPG
- git help … ヘルプ表示。 例:git help init
- gitk … GUIなログビューアー
- 色付け
- git config coloer.ui auto
- svnみたいに使いたい(短縮コマンド使いたい)
- git config alias.co checkout
- git config alias.st status
- ...