36

すべてのチケットがマスターからのブランチであるgithubでワークフローを試行します。
チケットが完了すると、作業はステージングにマージされ、マスターにマージされる前に回帰テストと統合テストが実行されます。

チームリーダーは、マージが構築され始めた後、古いチケットブランチの問題を提起しました。

このスクリプトを見つけたので、これが私たちの環境で機能するかどうかを知りたいです。マスターにマージされたブランチのみを削除したい。

4

5 に答える 5

79

Githubは、リポジトリへの管理者権限を持つすべてのユーザーが、プルリクエストがマージされた後に自動的に削除されるようにブランチを構成できる機能をリリースしました。手順は次のとおりです-

  1. リポジトリのメインページに移動し、[設定]をクリックします。
  2. [マージボタン]で、[ヘッドブランチを自動的に削除する]オプションを選択または選択解除できます。

この機能は、2019年7月31日にGithubによってリリースされました。

于 2019-08-02T14:12:43.790 に答える
4

私の知る限り、ユースケースにすぐに使用できるスクリプトはありません。そのための独自のツールを作成する必要があります。

Vincent Driessenによるgit-flowと呼ばれるツールがあります。これは、 「成功したGit分岐モデル」で説明されている彼のgitワークフローに従って開発者を支援するために構築されました。

マージの競合が発生するかどうかわからないため、マージ後にブランチを削除するほど簡単ではありません。

于 2013-01-23T17:52:27.593 に答える
2

次のいずれかをファイルに追加すると.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つの異なる方法で実行します。

于 2016-05-03T12:33:45.143 に答える
2

Github UIには、リポジトリ管理者が構成できるオプションがあります。

[マージボタン]で、[ヘッドブランチを自動的に削除する]を選択または選択解除します。

https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/managing-the-automatic-deletion-of-branches

于 2020-12-16T08:09:30.287 に答える
1

私の知る限り、現在のところ最良のオプションはdelete-merged-branchと呼ばれるGitHubアプリです。既存のアプリのインストールとして選択したリポジトリに簡単に統合できますが、そのソースコードも利用できます。このアプリは、PRを介してマージされた後、ブランチを自動的に削除します。

于 2018-11-11T12:15:47.607 に答える