ローカルリポジトリ内に同期する必要のあるいくつかのリモートトラッキングブランチがあるシナリオがあります。ワークフローモデルは次のとおりです。
「git status」は、何かが変更されない限り、ローカルブランチのベースとなるブランチを表示しないことに気付きました。つまり、コミットされていないローカルの変更または最近のフェッチにより、ローカルブランチが時代遅れになります。ローカルブランチがどのブランチに基づいているかを、物事を変更せずに知る方法はありますか? 「git status -showparentbranch」またはこれを表示する他のコマンドのようなもの。時々、この必要性に出くわしますが、それをどのように満たすかまだわかりません。
これを試して:
git log --graph --decorate
Gitは、コミットが行われたブランチを追跡しません。伝える方法はありません。リポジトリでコミットが発生した場合、reflogを調べることができますが、それはそれです。 The Pro Git book のDAGの説明をご覧ください-また、reflogを参照してください。
gitk --all
またはgit log --graph --decorate
を使用して履歴を視覚化することもできます
お役に立てれば。
git branch -vv
意志:
...これにより、現在のアクティブなブランチのリモートブランチなどを特定できます。
ローカルブランチが多数ある場合、リストは非常に長くなる可能性があります。つかいます git branch -vv | grep SOMEWORD
出力をSOMEWORDを含むブランチのみに制限します。ブランチに固有のWordを考えることができれば、最良のフィルターが得られます(1つの結果のみ)。
また、出力にいくつかの追加データ、つまり最後のコミットの番号(SHA1)とメッセージが表示されます。これらにgrepフィルターが適用されます。除外する方法が見つかりませんでした。
Gitから ブランチドキュメント :
-v
-vv
-詳細
リストモードの場合、各ヘッドのsha1およびcommit件名行を、上流ブランチ(存在する場合)との関係とともに表示します。 2回指定した場合、アップストリームブランチの名前も出力します(git remote showも参照)。
(あなたのコメントに基づいて、はい、「正しい」質問は「親」ブランチではなく「リモート」ブランチについて質問するようです。しかし、それも私が検索したものです!:))
また、これを試してみることができます:
git rev-parse --abbrev-ref --symbolic-full-name @{u}
そして、.gitconfigファイルでこのエイリアスを使用します:
[alias]
showparentbranch = rev-parse --abbrev-ref --symbolic-full-name @{u}
次に、単に呼び出すことができます:
git showparentbranch
Gitバージョン2.10.2.windows.1でテスト済み