memo

2011-06-13

git で mercurial の mq っぽい事をしたい

プロジェクトが小さい時は git の branch ベースの開発より hg + mq のコミットベースの開発の方がやりやすいと思っている。

流れとしては、

  1. hg qnew -e hoge.patch で、まずはコミットメッセージだけの空のコミットを用意する。

  2. 何か変更をしたら hg qrefresh でコミットに反映させる。

  3. 変更が終わり、動作確認がとれたら hg qfinish -a

という感じ。

しばらく放置しちゃってもコミットメッセージから何をやろうとしていたのか思い出せるし、 複数コミットに渡るような変更をすることもそんなにないからブランチである必要も無い。

で、こういうスタイルの開発を git でも出来たりしないかなぁと、考えている。 以下のような対応でつかっていけばそれっぽくなる?

mercurialgit
hg qinitgit checkout -b mq
hg qnewgit commit --allow-empty
hg qrefreshgit commit --amend
hg qfinishgit checkout master; git merge mq (?)

  • hg qpop/qpush の代わりは?