--track を使用してブランチを作成した後 (またはデフォルトまたは --notrack のままにした後)、後でブランチが追跡しているものを思い出させたいと思うでしょう。.git/config ファイルを検索する以外に、ブランチが追跡しているものを表示する方法はありますか?
5 に答える
使用:git branch -vv
追跡されているブランチと追跡されていないブランチを確認します。
特定のブランチについて知りたい場合は、次のようにします。
git config --get branch.<branch>.remote
リモートを出力する場合は、何かを追跡しています。何も出力せず、失敗を返す場合は、そうではありません。
自動化された方法でこの情報にアクセスする必要がある場合は、branch -vv
( slebetman's answer ) の出力を解析しようとしないでください。
Git は、安定したインターフェイスと出力形式を備えた一連の低レベル コマンドを提供します。これらのコマンド (「配管」と呼ばれる) は、「スクリプト作成」の目的で推奨されるインターフェイスです。git for-each-refコマンドは、トークンを介して必要な情報を提供できupstream
ます (Git 1.6.3 以降で利用可能)。
% git for-each-ref --shell --format='
b=%(refname:short) u=%(upstream:short)
# Make a fancy report or do something scripty with the values.
if test -n "$u"; then
printf "%s merges from %s\n" "$b" "$u"
else
printf "%s does not merge from anything\n" "$b"
fi
' refs/heads/ | sh
master merges from origin/master
other does not merge from anything
pu merges from origin/pu
ヒントをありがとう
次のコマンドを使用すると、特定のブランチのリモート追跡ブランチを取得できます。
git config --get branch.<branch>.merge
リモート追跡ブランチを変更するには、この構成値を変更するだけです。
git branch -vv
注: これは(すでに回答済みのこちら)
およびgit branch -u
( Make an existing Git branch track a remote branch? )の代替方法です。