今、僕の仕事環境では「エンジニアそれぞれが作業用ブランチを切って開発を進め、Github に pull-req を出してレビューもらって、それが通ったらマージされる」、といったよくありがちなフローで開発を進めています。
で、今までは自分が開発をしている最中に同僚から pull-req が飛んできてレビューをしなくてはならなくなったとき、自分の作業を一旦git stash
なり、git commit
なりしてキリがいい状態にしてから、git checkout
してレビュー、、のようなことをやっていました。
ですが、最近同僚にgit-new-workdir
なるものを使えばそんなだるいことしなくていいよーって教えてもらったのでさっそく導入!!今回はその導入メモです。
git-new-workdir コマンドを使えるようにする
僕はhomebrew
で git を導入してるのですが、git-new-workdir
自体はすでに/usr/local/share/git-core/contrib/workdir/git-new-workdir
にありました。
ただ参考記事を見る感じだと、コマンドはパスを通すなり、シンボリックリンクを貼るなりしないと使えないようなので今回は
$ ln -s /usr/local/share/git-core/contrib/workdir/git-new-workdir /usr/local/bin/git-new-workdir
して使えるようにしました。これで
$ git-new-workdir usage: /usr/local/share/git-core/contrib/workdir/git-new-workdir <repository> <new_workdir> [<branch>]
って出るようになりました!
ちなみにgit-new-workdir
がない人はこことかから落としたりすれば大丈夫そうです。
実際に使ってみる
$ git checkout git@github.com:project_name.git(てきとーなproject) $ git-new-workdir project_name for_develop $ git-new-workdir project_name for_review
これで開発用のブランチで開発をしつつ、pull-req レビュー用のブランチでレビューできる環境ができました!
$ tmux new -s for_develop $ tmux new -s for_review
みたいにして tmux で切り替えて管理できるようにするといいかもですね!
ちなみに.gitignore
に指定されているディレクトリ、ファイルはgit-new-workdir
でつくったディレクトリには反映されていないのでそこは注意。
まとめ
git-new-workdir
便利!!他にもここで紹介されているようにgit-contrib
には便利なツールがいっぱいあるみたいなので、また試していきたいです。