自作パッケージをpushしてgo getするのが面倒くさい
3/9追記しました
急募
ちゃんとした開発方法が記されたわかりやすいドキュメント
問題
そもそも開発方法としてどうしたらいいのかわからないけど、とりあえず誰でもgo getして使えるようにgithubのリポジトリからインポートするようにしています。
import "github.com/~~~"
こんな感じに開発していると、このインポートしているパッケージを変更したときにまたpushしないといけません。
ちょっとした変更でも。
git add .
git commit -m 'ちょっとした変更'
git push origin master
というか、動くかどうかもわからないコードでマスターが汚れます。
3/9追記 解決方法
コメントで@spiegel-im-spiegelさんに教えていただきました。
GOPATHには複数のパスを設定できるようです。go getを使用した場合は最初に指定したパスが使われます。そのため、2番目以降に開発用のディレクトリを指定すると良さそうです。
例えば、GOPATHに$HOME/go-devというパスを指定し、$HOME/go-dev/src/github.com/ophum/testというディレクトリを作成し、このディレクトリで開発を行うようにすると良さそうです。
暫定的な解決方法(?)
go getすると$GOPATHで指定されたディレクトリにリモートからクローンするようです。例えば、githubのophumというユーザのtestというリポジトリをgo getした場合$GOPATH/src/github.com/ophum/testというパスでクローンされます。また、このディレクトリの中にはリポジトリの内容と同じものが入っています。(クローンなので)
同じものが入っています。
ということで、例えばローカルのリポジトリのパスが以下のような場合
$HOME/test
このパスのリンクを$GOPATH/src/github.com/ophum/に貼ってあげます。
ln -s $HOME/test $GOPATH/src/github.com/ophum/test
そうすることで、$HOME/testを変更した場合リモートにpushすることなく、このパッケージをインポートしているパッケージでgo runすることができました。
急募
ちゃんとした開発方法が記されたわかりやすいドキュメント