0

まだリモート リポジトリにプッシュされていないローカル コミットを確認できる git log コマンドがあります。次のようになります。

ahead = log origin/master..HEAD --graph --pretty=format:'%Cred%h%Creset %d %s %Cgreen(%cr)%Creset %Cblue[%an]%Creset' --abbrev-commit --date=relative

masterブランチにいる限り、これは正常に機能します。私が望むのは、エイリアスがそのブランチに対して実行さmasterれるように、コマンド where is now に入れることができる変数です。git aheadzsh $(git_prompt_info) 変数のようなものですが、エイリアス定義の一部として gitconfig ファイルで使用できます。

4

1 に答える 1

4

あなたが探している@{u}

<refname> @ {upstream}、例:master @ {upstream}、@ {u}

refの接尾辞@{upstream}(短縮形<refname> @ {u})は、refがその上に構築されるように設定されているブランチを指します。欠落しているrefは、デフォルトで現在のブランチになります。

したがって、エイリアスは次のようになります。

ahead = log @{u}..HEAD --graph --pretty=format:'%Cred%h%Creset %d %s %Cgreen(%cr)%Creset %Cblue[%an]%Creset' --abbrev-commit --date=relative

しかし、私はそれをこれに変更することをお勧めします:

ahead = log @{u}...HEAD --graph --decorate --left-right --boundary --pretty=format:'%Cred%h%Creset %d %s %Cgreen(%cr)%Creset %Cblue[%an]%Creset' --abbrev-commit --date=relative

これにより、リモートで欠落しているリモートのコミットと、リモートで欠落しているローカルコミットの両方が表示されます。

于 2013-01-25T04:31:58.763 に答える