これを解決する1つの方法は、IvanRaveとhttp://blog.campoy.cat/2014/03/github-and-go-forking-pull-requests-and.htmlによって提案されたフォークの方法です。
もう1つは、golangの動作を回避することです。するとgo get
、golangはディレクトリをリポジトリURIと同じ名前でレイアウトします。これが、問題の始まりです。
代わりに、独自のを発行する場合はgit clone
、元のリポジトリにちなんで名付けられたパスで、リポジトリをファイルシステムに複製できます。
元のリポジトリがにgithub.com/awsome-org/tool
あり、それをフォークすると仮定するとgithub.com/awesome-you/tool
、次のことができます。
cd $GOPATH
mkdir -p {src,bin,pkg}
mkdir -p src/github.com/awesome-org/
cd src/github.com/awesome-org/
git clone git@github.com:awesome-you/tool.git # OR: git clone https://github.com/awesome-you/tool.git
cd tool/
go get ./...
golangawesome-org
は、このリポジトリを続行することを完全に喜んでおり、git remoteがである間、一部の上位ディレクトリに名前が付いていることを実際には気にしませんawesome-you
。のすべてのインポートawesome-org
は、ローカルワーキングセットである作成したディレクトリを介して再実行されます。
詳細については、私のブログ投稿を参照してください:GitHubでGolangリポジトリをフォークし、インポートパスを管理する
編集:固定ディレクトリパス