2015年02月02日

git のリモートで消えたブランチ

普段やりなれないことは、それに付随することもよく知らなかったりする。

少し前に git branch --merged という記事を書いてリモートブランチの整理方法を紹介した。 ところが「あれ、消えてなくない?」と言われてしまった。 いや、消えてるから。 github で確認したし…

消した本人はローカルの環境でもブランチが消えているので気づかなかったのだが、 git でリモートブランチが消された場合、 ただ待っていてもローカルの追跡ブランチは消えない。 消すには fetch の際に prune オプション (-p) を指定しなければいけない。

よく使っている SourceTree では fetch のアイコンを押した時に現れるオプションの2番めにこのオプションがある。 私も普段は off にしているので他の人がリモートブランチを消しても気づかなかった可能性はある。

posted by mft at 12:44| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2014年12月05日

Python における整数の切り上げ割り算

Python の整数割り算は切り捨てなので、たとえば 10 // 3 は 3 になる。 切り上げにしたいときには?

切り捨てとは負の無限大への丸めなので、負の数を割る場合絶対値の大きい方に丸められる。 つまり、-10 // 3 は -4 になる。 これを利用すれば、切り上げ割り算は -( -10 // 3) のように書ける。

というのを math.ceil の結果(浮動小数点数)を int に戻しているようなコードを見かけたので書いておくことにする。

参考:

  1. Python 標準ライブラリ 5.4. 数値型 int, float, long, complex
  2. PEP 238 Changing the Division Operator
ラベル:Python
posted by mft at 02:07| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2014年11月19日

git branch --merged

プロジェクトが長く続くと、マージし終えて役目の終わったブランチが溜まっていく。 大体は不要と言っていい。

不要ならば消したくなるのが人情ということで、git はマージしてあるブランチを教えてくれる。 それが git branch --merged である。

「でもローカルのは普段から SourceTree でポチポチ消してるし、問題はリモートだよね」

それも簡単で git branch -r --merged でリモートのものが表示される。

あとは git push --delete で削除すればいいのだが、全部のブランチを消していいわけではないだろう。 たとえば名前に 'dev' が入るブランチは消すことにしたとすれば、

$ git branch -r --merged | awk -F/ '/dev/{print $2}' | xargs git push --delete origin

といったコマンドでバッサリいける。

ラベル:vcs
posted by mft at 12:46| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする