Une façon de le résoudre est celle suggérée par Ivan Rave et http://blog.campoy.cat/2014/03/github-and-go-forking-pull-requests-and.html -- la voie de la bifurcation.
Une autre solution consiste à contourner le golang comportement. Lorsque vous go get
, golang placez vos répertoires sous le même nom que dans l'URI du référentiel, et c'est là que les problèmes commencent.
Si, au lieu de cela, vous émettez votre propre git clone
vous pouvez cloner votre référentiel sur votre système de fichiers sur un chemin nommé d'après le référentiel d'origine.
En supposant que le dépôt d'origine se trouve dans github.com/awsome-org/tool
et tu le mets sur github.com/awesome-you/tool
vous pouvez :
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 ./...
golang est parfaitement heureux de continuer avec ce dépôt et ne se soucie pas vraiment qu'un répertoire supérieur porte le nom de awesome-org
alors que le git distant est awesome-you
. Toutes les importations pour awesome-org
sont résovés via le répertoire que vous venez de créer, qui est votre ensemble de travail local.
Pour plus de détails, veuillez consulter mon article de blog : Forking des dépôts Golang sur GitHub et gestion du chemin d'importation
modifier : correction du chemin du répertoire