[新機能]dbt Cloudのローカルリポジトリに残ったリモートリポジトリで削除済みのブランチを「Prune branches」で削除できるようになりました

2024.05.25

さがらです。

dbt Cloudの2024年5月の新機能として、dbt Cloudのローカルリポジトリに残った、リモートリポジトリで削除済みのブランチを「Prune branches」で削除できるようになりました。

とても簡素な内容ですが、実際に試してみたので本記事でまとめてみます。

これまで

これまで、dbt CloudのIDE上のローカルリポジトリに残った、リモートリポジトリで削除済のブランチを削除するには、Reclone repositoryをするしかありませんでした。

具体的には、IDEの右下の「・・・」からReclone repositoryを行うという流れです。

これでも特に問題ないといえばそうなのですが、「何かしらのブランチで開発中でCommit前のコードがある場合にRecloneしてしまうと、Commit前のコードが消えてしまう」というトラブルに繋がるリスクがありました。(あまりないケースだとは思いますけども…)

今後:Commit前のコードがあっても「Prune branches」を押せばOK

そこで、今回追加された「Prune branches」の出番です!Commit前のコードがあっても、問題なくリモートリポジトリでは削除済みのブランチを、dbt Cloudのローカルリポジトリから削除できるようになりました。

試してみた

以下のようなブランチの状況で、「aaaaブランチで開発中でCommit前のコードがあるけど、リモートリポジトリでは削除済みのci-testブランチをローカルリポジトリから消したい」と考えてみます。

  • mainブランチ
  • ci-testブランチ
    • リモートリポジトリでは削除済み
  • aaaaブランチ
    • 現在のdbt CloudのIDE上での作業ブランチ、Commit前のコードあり

dbt CloudのIDEで、左上のGit関係のボタンからPrune branchesを押します。

すると、リモートリポジトリでは削除済みのci-testブランチが候補として出てきて、pruneしても問題ないかどうかを確認する画面が出てきます。今回は問題ないため、Continueを押します。

この後、現在のaaaaブランチでの開発中のコードを一度Commitした上で「Change branch」をしようとすると、ci-testブランチが消えていることがわかります!

最後に

dbt Cloudのローカルリポジトリに残った、リモートリポジトリで削除済みのブランチを「Prune branches」で削除できるようになったので試してみました。

これからはRecloneではなく、Pruneしていきましょう!