0

私はたくさんのリモートgitブランチを持っています:

remotes/origin/<branchname>等...

私はそれらのほとんどがおそらく削除できることを知っています。

  1. どのマスターに完全にマージされたかを確認するための最良の方法は何ですか?これらを最初に削除したいと思います。
  2. 残りのブランチのマージされていないコミットを確認するための最良の方法は何ですか?
4

4 に答える 4

3

あなたgit branch -r --merged masterがしたいことをしますか?

于 2013-01-09T21:15:05.143 に答える
1

この情報を取得する1つの方法は次のとおりです。

git branch -vv

これにより、各ブランチが最新であるか、進んでいるか、遅れているかが一覧表示されますが、人間が読み取れるように設計されているため、後でスクリプトを作成するために簡単に解析することはできません。そのルートを取る必要がある場合は、より良い方法があるかもしれません。

GUIの1つを見ると、マージされていないブランチも視覚的にわかりますが、ブランチの数によっては、面倒な場合があります。

編集:別のオプションはこれです:

git show-branch --independent | xargs git name-rev

これは基本的に、他のどのブランチからも到達できないブランチを示していますがmaster、リストに含まれている可能性があるため、出力を少し整理する必要があるかもしれません...

于 2013-01-09T21:10:25.347 に答える
0

git branch -d私の最初の選択は、 (小文字のd)で削除してみることです。ブランチが完全にマージされていない場合、これは失敗します。

于 2013-01-09T21:16:54.277 に答える
0

このgit logコマンドは、ブランチが互いにどのように関連しているかを確認するために使用します。

log --oneline --decorate = short --graph --all --simplify-by-decoration

装飾されていないコミットを上記に追加するには、--simplify-by-decoration

log --oneline --decorate = short --graph --all

また、あなたの質問への直接の答えではありませんが、どのコミットに注意が必要かを確認することに関連して、このバージョンは、プッシュされていないロモート追跡を備えたブランチのコミットのみを表示します。

log --oneline --decorate = short --graph --all --branches --not --remotes

于 2013-01-09T21:16:07.363 に答える