プログラミング/git の履歴(No.3)
更新概要†
git についての備忘録的メモです。
alias†
https://git.wiki.kernel.org/index.php/Aliases ここにも参考になる物がいっぱいある。
git s†
s = status
git l, git la†
l = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative la = log --graph --all --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
git d†
履歴選択リスト付きの git diff
リストが表示された状態のまま Enter を押せば、普通に git diff と打ったのと同様に HEAD と working copy との間の差分をとる
履歴を1つ選んで Enter を押せば、その履歴と working copy との差分を取る
Ctrl+space で2つ選べば、その間の差分を取る
d = !git diff --minimal --ignore-all-space `git log --oneline --branches | peco | ruby -e 'STDIN.readlines.reverse.each{|s| puts s[0..6]}'`
git add-file†
git add するファイルを一覧から選ぶ
add-file = "!if [ \"`git status --porcelain | grep -E '^.[^ ]'`\" != \"\" ]; then git add `git status --porcelain | grep -E '^.[^ ]' | peco | sed -e 's/.* //'`; fi"
git reset-file†
git reset するファイルを一覧から選ぶ
reset-file = "!if [ \"`git status --porcelain | grep -E '^[^\\? ]'`\" != \"\" ]; then git reset `git status --porcelain | grep -E '^[^\\? ]' | peco | sed -e 's/.* //'`; fi"
git tag-date†
git tag のリストに日付をつける
tag-date = "tag-date="for-each-ref --sort=-taggerdate --format='%(taggerdate:short) %(tag) %(taggername) %(subject)' refs/tags"
コメント・質問†
Counter: 4274 (from 2010/06/03),
today: 1,
yesterday: 0