gitで便利なエイリアス達
gitやるならば最初に見ておくべきであった…
.gitconfigの[ailias]の下に書いたコマンドは
例えばgit today
などとして実行できる。
今日一日の振り返りログ
.gitconfig
[alias]
log1 = !git log --graph --date=relative --date-order --format=format:'%C(yellow)%h %C(bold green)[%ar] %C(reset)%s %C(red)%d %C(reset)'
today = !git log1 --since='yesterday' # todays work
- --since='yesterday'で昨日(24hours以内)からの差分を取得します。
-
--date=relative
で現時刻との差
最後のtagからのコミットログ
.gitconfig
[alias]
log0 = !git log --oneline
last = !git log0 $(git tag | tail -1).. # Latest tag
-
$(git tag | tail -1)
で最新のタグを取得しています。 - 最後の
..
で「最後のタグからの…」という意味になります。
.gitconfig
[alias]
log2 = !git log --graph --stat --pretty=format:'%C(yellow)%h %C(cyan)%cd %C(bold black)%an %C(
red)%d %n %C(reset)%s' --date=format:'%Y-%m-%d %H:%M:%S'
変更したファイルのみ表示
.gitconfig
[alias]
log3 = !git log --patch-with-stat --date=format:'%Y-%m-%d %H:%M:%S' --pretty='format:%C(yellow)%H %C(bold
cyan)[%cd] %C(bold black)%an %C(red)%d% %C(reset)%n %s'
--patch-with-statオプションによる差分の詳細
公式にもいいこといっぱい書いてあります。
sort
.gitconfig
[alias]
sort = for-each-ref --sort=committerdate refs/ --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(color:red)%(objectname:short)%(color:reset) - %(contents:subject) - %(authorname) (%(color:green)%(committerdate:relative)%(color:reset))' # Display branch info
tagとbranchのサマリーをコミット日時でソートして表示します。
alias表示
.gitconfig
[alias]
alias = config --get-regexp alias.* # Display alias list
.gitconfigで指定されているaliasを表示します。
zip化
.gitconfig
[alias]
zip = !git archive --format=zip HEAD > `git symbolic-ref --short HEAD`.zip # Archive HEAD as zip
HEADをzipにまとめます。