Go Get für lokale Server-Repositorys verwenden
Das Abrufen von Paketen von einem lokalen Server mithilfe von Go Get kann aufgrund der erwarteten HTTP-Funktion eine Herausforderung sein. basierte Repositorys.
So beheben Sie dieses Problem:
Für Pakete (GOPATH-Konvention)
- Fügen Sie Folgendes zu .gitconfig hinzu: git config --global url."user@host:".insteadOf "https://github.com/"
- Erstellen Sie Git-Repositorys auf Ihrem privaten Git-Server und nutzen Sie SSH-Zugriff auf öffentliche Schlüssel.
- Verwenden Sie go get mit dem Suffix .git, um Pakete abzurufen: go get user@host:gitrepo/package/
Für Module
- Folgen Sie den oben genannten Schritten für Pakete.
- Legen Sie GOPRIVATE fest, um die privaten Repositorys anzugeben: go env -w GOPRIVATE=user@host/gitrepo/*
- Verwenden Sie go get mit dem Suffix .git, um Module abzurufen: go get user@host/gitrepo/module/
Unterschiede aus öffentlichen Repositories
- Ändern von .gitconfig zur Verwendung von SSH für private Repositorys.
- Hinzufügen des .git-Suffixes in go get für nicht öffentliche Repositorys.
- Stellen Sie sicher, dass der Hostname einen Punkt (.) hat oder verwenden Sie seine IP-Adresse.
Notizen
- Go erhält Module von der $GOPATH/pkg/mod-Verzeichnis.
- Semantische Versionierung erfolgt mit Tags, die unabhängig von Zweigen sind.
- Um den neuesten Commit für einen Zweig zu erhalten, verwenden Sie @branchname in go get, z. B. Holen Sie sich user@host/gitrepo/module/branchname
Das obige ist der detaillierte Inhalt vonWie kann ich „go get' mit lokalen privaten Git-Repositorys verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!