2009-08-20 11 views
2

Ich habe einen Hudson Continuous Integration Server auf einem Ubuntu 8.04 Slice, Git Version 1.6.4 eingerichtet. Ich bin in der Lage, Code aus einem privaten Repo-GitHub ziehen zu lassen, aber ich scheine es nicht zu bekommen, die Tags nach einem Build zurückzuschieben. Ich sehe die folgenden:Git Push zu GitHub fehlgeschlagen - scheint zu versuchen, HTTP zu verwenden?

# sudo -u hudson git push --tags 
XML error: syntax error 
error: Error: no DAV locking support on https://github.com/dealbase/dealbase/ 
error: failed to push some refs to 'https://github.com/dealbase/dealbase' 

Wenn ich „ssh -v [email protected]“ aus dem hudson Benutzer tun, kann ich erfolgreich auf GitHub authentifizieren (was ich von einem Sinn als auch gegeben macht ziehen/Klon kann privates Repo). Mein Eindruck ist, dass dieser Git-Push versucht, WebDAV/run über HTTP oder etwas zu verwenden, wenn Sie den Push tun? Meine .gitconfig ist die gleiche wie ein anderer Benutzer auf dem System (mein normaler Nicht-Hudson-Benutzer), der die Tags erfolgreich übertragen kann.

+1

Es sieht aus wie es versucht, http zu verwenden. Wie lautet die Form der URL, die für 'origin' in Ihrer '.git/config' angegeben wurde? Wenn es mit "http: //" (oder "https: //") beginnt, ist das dein Problem - du willst eine 'git: //' Adresse. Beachten Sie, dass wenn Sie den Repo durch Klonen erstellen, diese Adresse von dem kopiert wird, aus dem Sie klonen - es ist einfach, während des Klons versehentlich "http" anstelle von "git" zu verwenden und nicht zu erkennen, dass Sie etwas dauerhaft gemacht haben. – Cascabel

+0

Jefromi, danke, ich glaube das war es, es begann mit https statt mit git. Vielen Dank! – chrisrbailey

Antwort

0

Schauen Sie in .git/config (nicht ~/.gitconfig) remote Abschnitt und stellen Sie sicher, dass es richtige URL-Wert hat.

1

Wenn Sie Ihre .git/config Datei nicht manuell bearbeiten möchten (oder Angst haben, sie zu vermasseln), können Sie die git remote Befehle verwenden, um Ihre Remote-Repository-Liste zu bearbeiten.

git remote show werden die Remote-Repositorys aufgelistet, die Ihr lokales Repository kennt, und git remote show <reponame> zeigt die Details des angegebenen Repos (wie die Push-URL). Sie können git remote rm <reponame> und git remote add <reponame> <repourl> auf Ihre github ssh-URL zurücksetzen.

+1

Oder 'git remote set-url ' zu ändern, ohne zu löschen-neu erstellen. – cbliard

Verwandte Themen