naokazuterada
3/23/2013 - 2:18 PM

git_use.sh

# 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