2016-05-13 4 views
0

Ich bin dabei, ein Skript in Powershell zu erstellen, die einen bestimmten Zweig aus einem Github Repo zieht, dann verwendet Msbuild, um das Projekt zu kompilieren. Das Skript greift auf das Verzeichnis mit der ausführbaren git-Datei zu und fordert dann das Remote-Repo an. Um Github von Auffordern mir Anmeldeinformationen zu verhindern, ich bin den Github Zugriffstoken im Git-Pull-Anfrage mit, unten gezeigt:Github ziehen aus bestimmten Remote-Zweig ohne Anmeldeinformationen

git --git-dir=<pathtorepo>.git --work-tree=<pathtorepo> pull https://<githubtoken>@github.com/<myusername/<remoterepo>.git 

Dies funktioniert jedoch nur aus dem Master-Zweig, Veranstaltung ziehen allerdings in einem vorherige Powershell-Anweisung Ich habe die richtige Verzweigung ausgecheckt. Gibt es etwas, das ich an den obigen Befehl anhängen kann, um git zu zwingen, aus einem bestimmten Zweig zu ziehen?

+0

Was ist der Befehl, den Sie zum Auschecken dieser Verzweigung verwendet haben? Kannst du einen 'git status -sb' machen und sehen, was git denkt, ist der Upstream von diesem Zweig? – dubes

+0

Ich benutze git --git-dir = C: /inetpub/wwwroot/LifespeakOnDemand/.git --work-Baum = C:/inetpub/wwwroot/LifespeakOnDemand Kasse - Ich überprüft den Upstream-Zweig mit obigen Code - und es ist die richtige, aber aus irgendeinem Grund versucht der obige Code, vom Master-Upstream-Zweig zu ziehen und in aktuellen lokalen Zweig zu verschmelzen –

Antwort

0

Ich bin mir nicht sicher warum, aber es kann passieren, dass mit der Erwähnung des Repository explizit anstelle von origin in der pull Befehl, Git verliert die Spur der Branche, die es ausziehen muss. Können Sie es versuchen, indem Sie refspec im Befehl git pull explizit erwähnen? Vom docs, git unterstützt

git pull [options] [<repository> [<refspec>…​]] 

So kann arbeiten, ist es nicht mit dem Zweignamen allein bei den Zweignamen am Ende des Hinzufügen arbeiten, bitte auch mit versuchen: refs/heads/<branchName>

git --git-dir=<pathtorepo>.git --work-tree=<pathtorepo> pull https://<githubtoken>@github.com/<myusername/<remoterepo>.git <branchName> 

Können Sie es versuchen und lassen Sie mich wissen, ob es funktioniert?

Verwandte Themen