origin
例として、現在のブランチとそのパートナーの違いを示す git エイリアスを書きたいとします。
マスターの特定のケースでは、次のようになります。
[alias]
top = log --oneline --graph --decorate master ^origin/master
交換方法はmaster
?
git のバージョンがそれほど古くない場合、文字列@{u}
は「上流」、つまり現在のブランチが追跡している origin/foo を意味します。(そして:HEAD
は「ブランチ上にある場合、現在のブランチ」を..
意味し、構文で何かを省略するとHEAD
.) したがって、@{u}..
「上流にない HEAD 内のすべて」を意味します。
[alias]
top = log --oneline --graph --decorate @{u}..
それを行う1つの方法:
[alias]
top = "!git log --oneline --graph --decorate `git rev-parse --abbrev-ref HEAD` ^origin/`git rev-parse --abbrev-ref HEAD`"
これにより、エイリアスがシェル コマンドに変わり、コマンドをネストすることができます。