『わかる Git』を読みました
今までビクビクしながら Git を Sourcetree で使っていたんですが、『わかる Git』という本を読んで Git が怖くなくなりました。この本ほんとに分かりやすい。そして安くて薄い(電子書籍なので「薄い」はイメージです)。
コマンドだとかオプションだとかが何の略なのかがすぐに分からず、分からないと覚えられないので、リファレンスを参照しながら読みました。
今までそもそも作業ツリー、ステージ、リポジトリのイメージが正確には分かっていなかったです。その他にも「そうだったのか」と驚いたことがいろいろ。
- origin/master とかってローカルにあるもののはずなのになんで origin ってついてるのかなと不思議に思っていた。これは「ローカルにあるリモート追跡用のブランチ」なのであった。
- git reset --hard ではステージと作業ツリーとHEADがすべてひとつ前のコミットに戻るが、git reset --soft ではステージと作業ツリーはそのままでHEADだけが戻る。作業をやり直してステージしてコミットもやり直すことができる。
- git commit --amend も直前のコミットを直すのに便利。ステージを作り直してから git commit --amend すると、捨てられるコミットのメッセージが再利用できる。
- コミットをチェックアウトするとそれは 切り離されたHEAD になる。
- git revert や git cherry-pick や git rebase でコンフリクトが起きた場合は慌てずにコンフリクトを手で直して git add -u でステージに移し、--continue オプションをつけてやり直す。
- Sourcetree を使わなくても git log --all --graph --oneline でブランチの状態は分かりやすく見ることができる。
覚えてもやらないとすぐ忘れるので Git を使うチームワークをたくさんやりたいです。ひとり作業のときにもきちんとGit を使おうと思います。