2

特定のスクリプトを作成するには、現在のブランチに追跡対象のリモートがあることと、このリモートの名前を確認する必要があります。git remote show origin出力を解析せずに、現在のブランチにタックされたブランチの名前だけを取得する方法はありますか?

4

2 に答える 2

3

これはうまくいくはずです:

git rev-parse --symbolic-full-name @{u}
于 2011-11-10T12:41:13.547 に答える
1

28fb8438 (Introduce @{upstream} notation, 2009-09-10) が Git 1.7+ に含まれているため、HEAD@{upstream}(またはHEAD@{u}略して) を使用してこれを実現できます。

教育目的で、これに相当するシェル スクリプトを次に示します。

#!/bin/sh

cbranch=`git rev-parse --abbrev-ref HEAD`
cmerge=`git config branch.$cbranch.merge`
cremote=`git config branch.$cbranch.remote`
if [ $? -eq 0 ]; then
    echo "$cremote/`git rev-parse --abbrev-ref $cmerge`"
else
    return 1
fi
于 2011-11-10T13:13:47.200 に答える