GitHubのJohn Britton氏による講演

0
Yusuke Ando @yando

GitHubのジョンさんのGitの解説がわかりやすい。Gitはツリーオブジェクトとオブジェクトの組み合わせでリポジトリを作っている。 https://t.co/fCPNtLm2Ve

2013-10-10 14:29:44
Yusuke Ando @yando

本日はDevOps Dayとは趣向を変えてGitとGitHubを掘り下げてもらっています。 https://t.co/fCPNtLm2Ve

2013-10-10 14:33:31
Yusuke Ando @yando

Gitのコミットはコミットが連なったリンクドリスト。なので git show HEAD~2 のような指定が出来たりする。 https://t.co/fCPNtLm2Ve

2013-10-10 14:35:39
Yusuke Ando @yando

ブランチは履歴に対するブックマーク。masterもそういう名前のデフォルトなだけでただのブランチと差はない。 https://t.co/fCPNtLm2Ve

2013-10-10 14:39:40
Yusuke Ando @yando

HEADは最後にチェックアウトしたリビジョンを指している。 https://t.co/fCPNtLm2Ve

2013-10-10 14:40:28
Yusuke Ando @yando

git branch -d しても消えるのはブランチだけでコミットは残っているのでハッシュを指定すればチェックアウトできる https://t.co/fCPNtLm2Ve

2013-10-10 14:41:34
Yusuke Ando @yando

ブランチの実体は .git/refs/heads の下にブランチに対応したリビジョンが書き込まれたファイル https://t.co/fCPNtLm2Ve

2013-10-10 14:43:32
Yusuke Ando @yando

マージコミットはparentを2つ持っているコミット。 http://t.co/BwSKFWmfYD

2013-10-10 14:59:00
Yusuke Ando @yando

自分の作業を公開したあとはgit rebaseするとコミットハッシュが変わってしまうので良くない。 http://t.co/BwSKFWmfYD?

2013-10-10 15:02:15
Yusuke Ando @yando

git rebaseは書類の束を積み直すように一連のコミットをリプレイする。 http://t.co/BwSKFWmfYD

2013-10-10 15:04:46
Yusuke Ando @yando

git reflog を見れば自分が行った操作の履歴が見れる。おかしくなってもクローンしなおしたりせずにログを見て戻すのが良い。 http://t.co/BwSKFWmfYD

2013-10-10 15:08:48
Yusuke Ando @yando

git reset --hard HEAD@{1} などでreflogの操作を取り消せる。例えばマージを取り消す。 http://t.co/BwSKFWmfYD

2013-10-10 15:10:51
Yusuke Ando @yando

git gcはオブジェクトを圧縮する。ただしリモートからクローンしたリポジトリはクローンの時にすでに圧縮されている。メッセージにも出ている。 http://t.co/BwSKFWmfYD

2013-10-10 15:23:40