※develop と main は消さないようにしています。 ※これでスッキリしますが、毎回これ書くのは辛い。 .gitconfig にalias (2021/05/18 ブランチ名の修正他) .gitconfigに以下を追加 これで、 git delete-merged-branch develop とやると` 1. developにcheckoutし、 2. merge済みブランチを一括削除 します。 delete-merged-branch はaliasなので好きな名前をつければいいです。(自分は、 vacuum とつけています) スクリプト内の、 develop|main 部分は消したくないブランチ名をパイプでつなげて複数記述すればマージ済みでも削除されません。 e.g.) release main ブランチをブロックしたい場合。 delete-merged-branch = "!
いろんなブランチさわっていると、どれをmasterにマージしたか忘れてしまって、マージしてないのに終わった気になってgit branch -dとかしちゃいそうなので、まるっと確認するコマンド考えた。 % git co master % git branch | grep -v '*' | xargs -t -I% git --no-pager log --oneline master..% 手元のブランチ名全部取ってきて、トピックブランチにはあるけどmasterにはないcommitがあるかどうかを一覧してくれる。 xargsの-tは実行前にコマンドラインを標準エラー出力に表示してくれるやつ。 マージされたやつだけを探すなら次のコマンドで十分ですね。 % git co master % git log --oneline --merges と思ったら ふつーーーーーにこんなのがあった!!!
一覧の情報はいらなくて、現在のブランチ名だけが欲しい ようするにシェルスクリプトとかで扱うときに git branch の結果ではなく、そのものずばりカレントブランチ名を取得したい。 いくらなんでもそういうインターフェイスあるでしょーと思ったらgit rev-parseで取得できるようだ。 sugamasao@GRAM% git rev-parse --abbrev-ref HEAD master sugamasao@GRAM% git checkout -b test Switched to a new branch 'test' sugamasao@GRAM% git rev-parse --abbrev-ref HEAD test sugamasao@GRAM% git checkout master Switched to branch 'master' sugamasao@GRA
An interactive Git visualization tool to educate and challenge!
I'd like to clean up my local repository, which has a ton of old branches: for example 3.2, 3.2.1, 3.2.2, etc. I was hoping for a sneaky way to remove a lot of them at once. Since they mostly follow a dot release convention, I thought maybe there was a shortcut to say: git branch -D 3.2.* and kill all 3.2.x branches. I tried that command and it, of course, didn't work.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く