Jednym ze sposobów rozwiązania tego problemu jest metoda zaproponowana przez Ivana Rave'a i http://blog.campoy.cat/2014/03/github-and-go-forking-pull-requests-and.html - sposób rozwidlenia.
Innym jest obejście zachowania golang . Kiedy ty go get, golang układa twoje katalogi pod taką samą nazwą jak w identyfikatorze URI repozytorium, i tutaj zaczyna się problem.
Jeśli zamiast tego wydasz własne git clone, możesz sklonować swoje repozytorium do swojego systemu plików na ścieżce nazwanej tak, jak oryginalne repozytorium.
Zakładając, że oryginalne repozytorium jest dostępne github.com/awsome-org/tooli rozwidlasz je github.com/awesome-you/tool, możesz:
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 jest całkowicie zadowolony z kontynuowania tego repozytorium i właściwie nie obchodzi go, że jakiś górny katalog ma taką nazwę, awesome-orgpodczas gdy zdalny git ma taką nazwę awesome-you. Cały import dlaawesome-org pliki są ponownie wyszukiwane za pośrednictwem właśnie utworzonego katalogu, który jest lokalnym zestawem roboczym.
Szerzej , zobacz mój wpis na blogu: Rozwidlenie repozytoriów Golang na GitHub i zarządzanie ścieżką importu
edit : stała ścieżka katalogu