Automatically delete head branchesの宗教論争

a white dice with a black github logo on it Diary

概要

githubのレポジトリ運用において「Automatically delete head branches」をonにするかoffにするか悩ましいところです。

デフォルトはoffです。

GPTに聞いてみた

Q: githubのrepositoryの設定にある、 “Automatically delete head branches” をonにするかoffにするか悩んでます。どちらのほうが一般的でしょうか?

A: 「Automatically delete head branches」の設定は、プルリクエストがマージされた後に、そのブランチを自動的に削除する機能です。この設定をオンにするかオフにするかは、チームやプロジェクトのワークフローと好みによって異なります。しかし、一般的な考え方をいくつか紹介します。

オンにする利点:

  1. リポジトリがきれいに保たれる: 不要なブランチが自動的に削除されるため、リポジトリが整理されやすくなります。
  2. ブランチの管理が楽になる: 作業が完了したブランチを手動で削除する必要がなくなり、メンテナンスが容易になります。

オフにする利点:

  1. 履歴の追跡: ブランチが削除されないため、過去の変更履歴を容易に確認できます。
  2. 再利用可能: 削除されないため、同じブランチを再利用して追加の変更を行うことができます。

一般的には、プルリクエストがマージされた後にブランチを自動的に削除してリポジトリを整理しやすくするため、この機能をオンにすることが多いです。しかし、過去の変更履歴を追跡したい場合や、ブランチを再利用する必要がある場合はオフにすることもあります。

最終的には、チームやプロジェクトの要件に基づいて判断してください。機能を試してみて、適切な設定を見つけるのも良い方法です。

考察

まさに論点はGPTに聞いた内容といのですでに考えてました。

インサイトとしては、onにしている方が多いという情報です。

そして、onとoffのいいとこ取りはできないかと思って探していたら見つけたのがこちら。古いブランチを削除するというGithub Actionsです。

GitHub - beatlabs/delete-old-branches-action: GitHub Action that deletes old branches
GitHub Action that deletes old branches. Contribute to beatlabs/delete-old-branches-action development by creating an ac...

これであれば参照頻度が低くて、再利用の可能性が低いブランチを積極的に消せます。

私の主張

ちなみに私は残しておく派。

tigで見たときにブランチの目的が追いやすいから。

そして、やっっぱりremoteにpushした情報って消しちゃいけないと思うんですよ。他の誰かがtrackingしているかもしれないのでブランチが消えると追いづらくなってしまいます。

容量は食わないし、見づらくなるぐらいのデメリットぐらいしか無いので、どんどんstockしていくのが根本かなと思います。

もし、ブランチ名を消す運用をしていて、再度同じブランチ名で別のfeature branchを作り出したときにURIの指す中身が違ってしまうというのもあるからブランチ名はレポジトリーに対してユニークになっていることも重要です。

コメント