git の基礎 - スペース
Git の基礎。
作業をする上で覚えておきたい4つのスペース(空間)がある。
- working tree (ワーキングツリー)
- index (インデックス)
- local repository (ローカルリポジトリ)
- remote repository (リモートリポジトリ)
下にいくほど情報消失リスクが減り、頑健性が高まります。
また、復元も下のスペースのほうがしやすいです。
日本語
法律の原案作成から法律の公布まで に非常に似ている。
working tree
原案作成用スペース。
index
決定案作成用スペース。
local repository
成立・公布準備スペース。
remote repository
ローカル環境で発生する違い
remote repository 以外はすべてローカルにある。
意外と感覚では理解しているものの、単語化されたときにわからないことはよくあるので,可能なら覚えたほうがいい。
コマンドによる状態の変化
普段、無意識に実行しているコマンドを絡めて覚えよう。
ターミナルを利用しているなら
git status
実行して表示された赤が working treegit status
実行して表示された緑が indexgit log
で出てくるのが local repository
working tree
↓ git add
index
↓ git commit
local repository
↓ git push ...
(略)
コマンドによる影響
git checkout .
… で簡単に消えてしまうのが working tree.git stash .
… で簡単に消えてしまうのが index.git reset --hard HEAD
… で簡単に消えてしまうのが local repository.git push -f ...
… で簡単に消えてしまうのが remote repository.
おわりに
細かくコミットしてリモートリポジトリに Push したほうがいいのは、データの消えやすさに起因する。 悩みまくってコミットせずにいるより、「考え中」とか「一時保存」 等コミットメッセージで保存したほうがいい。 消えたら終わりだからな。