都内SEのプログラミング勉強と雑記

2008年より都内でSEをしてます。業務システムをリプレイスし続けてきました。ここでは主にjavaやその周辺技術関連を紹介予定。学ぶことリスト:https://docs.google.com/spreadsheets/d/1G4lUqbHxsMf4PGgeRVe1ZL3JTOjlSTrqsJYe1CKz9UY/edit?usp=sharing

Gitで同時に複数ブランチを利用する場合は、やっぱり git-new-workdir だね!

f:id:object1985:20181002131746p:plain
今さらながら git-new-workdir を導入しました。
今いるブランチを切り替えず、別のブランチも同時に作業したい。
そんなとき、cloneするのは手間だし時間も容量もかかる。
そこで、 git-new-workdir

導入 => Mac

どこでもいいのですが、 git-new-workdir をgitからcloneします。
こんな時私は ~/bin にでも入れます。

#例えば以下の流れです。
#なければ事前にbinディレクトリを作成します
cd ~/bin
git clone https://github.com/git/git.git
#実行権限付与
chmod +x ~/bin/git/contrib/workdir/git-new-workdir
#シンボリックリンクを貼る。 /usr/bin に入れる方もいるかも。
ln -s ~/bin/git/contrib/workdir/git-new-workdir /usr/local/bin/git-new-workdir

使い方

git-new-workdir <repository> <new_workdir> [<branch>]

たとえばこんな感じです。

$ #hogehogeにgit clone等でGit管理下のプロジェクトがある前提
$ pwd
/Users/username/Documents/workspace/hogehoge
$ 
$ git branch
* master
  release
$ 
$ git-new-workdir . ../hogehoge-sub release

これで /Users/username/Documents/workspace/hogehoge-sub にreleaseブランチを作成してくれます。

動作も軽い、
fetchやstashも共有される、
ブランチを別ディレクトリに git clone なんてしなくていいし、
容量も節約。

最高。

follow us in feedly