git branch --merged
git配管コマンドを使用する方法はありますか?配管コマンドを使用してgitブランチを結合しました
私は、あなたにコミットハッシュとそれに対応する参照名を与えるgit for-each-ref
のようなコマンドがあることを知っています。コミットが別のコミットから到達可能かどうかを知るコマンドがありますか(これは基本的には--merged
です)。
git branch --merged
git配管コマンドを使用する方法はありますか?配管コマンドを使用してgitブランチを結合しました
私は、あなたにコミットハッシュとそれに対応する参照名を与えるgit for-each-ref
のようなコマンドがあることを知っています。コミットが別のコミットから到達可能かどうかを知るコマンドがありますか(これは基本的には--merged
です)。
git merge-base --independent X Y Z
は、まだそれらが他のブランチにマージされていないことを教えてくれます。
さらに、git merge-base --is-ancestor X Y
はXがYの祖先であるかどうかを教えてくれますが、git branch --merged
を実装するには非効率的な方法です。N個のブランチに対してN^2回実行する必要があるためです。
これは比較的新しい機能です。古い方法は 'git merge-base X Y'を実行し、マージベースがXに等しいかどうかを調べることでした。 –
なぜこれをやりたいですか? –
私は 'git branch --merged'と同等のことをスクリプトで行いたいが、磁器の出力(例えば" * master "、" origin/HEAD- origin/master "など)を扱いたくないので、 – EnToutCas
さて、 '-f -o /tmp/branch.log -e trace = execve git branch -merged'を' strace'して、 'git'が実際に何をしているかを見てください。代わりに、 'git'はあなたのためにそれを行います:' GIT_TRACE = 2 git branch --merged'。 – twalberg