# git rm を使わずに削除したファイルの削除情報をステージング
git add -u
# 一つ前のコミットをなかった事にする(時間を後進させる)
# ただし、自分が行ったコミットだけが対象、pullしてきたコミットに対しては効かない
# コミット前の、変更がテージングされていない状態に戻る
git reset --soft HEAD^
# 「なかった事にした」のをなかった事にする(時間を前進させる)
git reset --soft "HEAD@{1}"
# 逆のコミットを適用(取り消した事がログに残る)
git revert HEAD^
# 変更したけどまだステージしていない変更は?
git status
# コミット対象としてステージした変更は?
git diff –-staged # git v1.6.1~
# or
git diff –-cached
# マージがfast-forwardで実行できるとしても、新しいコミットオブジェクトを作成する
# (myfeatureブランチをdevelopブランチにマージ)
git checkout develop
git merge --no-ff myfeature
git branch -d myfeature
# --no-ffオプションをデフォルトに設定する
git config --global merge.ff false
# このリポジトリのみ--no-ffオプションをデフォルトに設定する
git config merge.ff false
# ブランチが複数ある場合に、ツリー構造を視覚的に表示
git log --graph
# 見やすく
# http://d.hatena.ne.jp/sugyan/20111103/1320247493