読者です 読者をやめる 読者になる 読者になる

たぷつきません

おなかがでてきた。もうたぷついてるやん。

git 消去済みのリモートブランチがワヤクチャあってリモートリポジトリをリフレッシュしたい

チーム開発していると、気づくともうマージ済みで無くなった origin/feature/xxxx やら origin/hotfix/xxxx やらの残骸がローカルに残り続けてて、同期したいなーてな場合に、originを取り直せば良いってことを六さんから教えてもらったわけ。
でも SourceTreeから気軽に実行したいのでカスタムアクション作っちゃったもんね。

  1. パスの通ったところに以下の内容で保存。仮に、/usr/local/bin/refresh_remote_repos.sh とする。
  2. chmod +x /usr/local/bin/refresh_remote_repos.sh
  3. カスタムアクションに定義 f:id:t-katochin:20131204144206p:plain


おわり。Macでしか試してないけど。

SourceTreeで実行すると、一瞬 リモートの中身が消えて、しばらくすると origin が作り直されるよ。

実行結果サンプル

f:id:t-katochin:20140303102907p:plain

2013/12/4更新

  • originだけでなく複数のリモートリポジトリに対応した。

2014/3/3更新

  • なんてこった!fetchで -p すればキレイになるんだってさ!このシェルさっぱり要らない!超いらない!…って思ったけど origin以外にも持ってる場合は依然一気にリフレッシュできるのは有効なので、remoteコマンドだけなくした。スッキリ!