すべてのチケットがマスターからのブランチであるgithubでワークフローを試行します。
チケットが完了すると、作業はステージングにマージされ、マスターにマージされる前に回帰テストと統合テストが実行されます。
チームリーダーは、マージが構築され始めた後、古いチケットブランチの問題を提起しました。
このスクリプトを見つけたので、これが私たちの環境で機能するかどうかを知りたいです。マスターにマージされたブランチのみを削除したい。
すべてのチケットがマスターからのブランチであるgithubでワークフローを試行します。
チケットが完了すると、作業はステージングにマージされ、マスターにマージされる前に回帰テストと統合テストが実行されます。
チームリーダーは、マージが構築され始めた後、古いチケットブランチの問題を提起しました。
このスクリプトを見つけたので、これが私たちの環境で機能するかどうかを知りたいです。マスターにマージされたブランチのみを削除したい。
Githubは、リポジトリへの管理者権限を持つすべてのユーザーが、プルリクエストがマージされた後に自動的に削除されるようにブランチを構成できる機能をリリースしました。手順は次のとおりです-
この機能は、2019年7月31日にGithubによってリリースされました。
私の知る限り、ユースケースにすぐに使用できるスクリプトはありません。そのための独自のツールを作成する必要があります。
Vincent Driessenによるgit-flowと呼ばれるツールがあります。これは、 「成功したGit分岐モデル」で説明されている彼のgitワークフローに従って開発者を支援するために構築されました。
マージの競合が発生するかどうかわからないため、マージ後にブランチを削除するほど簡単ではありません。
次のいずれかをファイルに追加すると.gitconfig
、1つのコマンドでブランチをマージおよび削除するためのエイリアスが簡単になります。
関数としてのエイリアス:
[alias]
ff = "!f() { git merge $1; git branch -d $1; }; f"
新しいシェルコマンドとしてのエイリアス:
[alias]
ff = !sh -c 'git merge $1 && git branch -d $1' --
どちらもまったく同じことを行いますが、2つの異なる方法で実行します。
Github UIには、リポジトリ管理者が構成できるオプションがあります。
[マージボタン]で、[ヘッドブランチを自動的に削除する]を選択または選択解除します。
私の知る限り、現在のところ最良のオプションはdelete-merged-branchと呼ばれるGitHubアプリです。既存のアプリのインストールとして選択したリポジトリに簡単に統合できますが、そのソースコードも利用できます。このアプリは、PRを介してマージされた後、ブランチを自動的に削除します。