こんにちは、浦本です。
 今日はgitコマンドに関する素朴な疑問について、Q&A形式でまとめてみました。
 【Q】 編集がパーになるのが怖くてcheckoutできません。どうしたら良いでしょうか?
 【A】 checkoutに-pを付けましょう。確認メッセージが表示されます。
$ git checkout -p ファイル名
 編集をそのまま残したい箇所ではnを、
 編集をパーにしてよい箇所ではyをタイプします。
 【Q】 addしたらdiffに何も表示されなくなりました。どうしたら良いでしょうか?
 【A】 diffに--stagedを付けましょう。コミット待ちのdiffが見れます。
$ git diff --staged
あるいは
$ git diff --cached
 【Q】 commitの前に毎回diff --stagedを叩くのが面倒です。どうしたら良いでしょうか?
 【A】 commitに-vを付けましょう。diffも一緒に確認できます。
$ git commit -v
このオプションを付ける習慣を身につけておけば、
 「デバッグコードが1年前のcommitに紛れていた・・・」なんていう最悪の事故を防ぐことができます。
 もはやチーム内で義務化してしまったほうが良いと言えます。
 【Q】 編集途中のファイルを半分だけcommitしたいです。どうしたら良いでしょうか?
 【A】 addに-pを付けましょう。編集箇所ごとにaddできます。その後commitします。
$ git add -p ファイル名
 checkout -pのときと同様に確認メッセージが表示されます。
 addする箇所ではyを、
 addしない箇所ではnをタイプします。
 【Q】 diffの表示範囲が狭くてどこをいじったか分かりません。どうしたら良いでしょうか?
 【A】 diffに-U9999を付けましょう。ファイル全体を見渡せます。
$ git diff -U9999
 【Q】 分岐・マージの様子を知りたいです。どうしたら良いでしょうか?
 【A】 logに--graphを付けましょう。分岐・マージが可視化されます。
$ git log --graph --oneline
 コンパクトな表示にするため、--onelineも付けています。
 ※この画像はSymfony 2のgitリポジトリを例としています。
 【Q】 logを見てもどのファイルが編集されたのか分かりません。どうしたら良いでしょうか?
 【A】 logに-pを付けましょう。diff付きでログを見れます。
$ git log -p
 【Q】 映画けいおん!が観れるかどうか心配です。どうしたら良いでしょうか?
 【A】 チケットのご予約はお早めに。
以上となります。