Ich versuche zu automatisieren ziehen die neueste Version unseres Codes von bitbucket mit git.exe über psake in Powershell, aber ich habe mit einer Reihe von Problemen zu kämpfen.git und psake von Powershell
ich den folgenden Code in einer Aufgabe haben:
Exec {
&('c:\Program Files\Git\bin\git.exe') pull --progress --no-rebase -v origin
}
aber ich bekomme die folgende Fehlermeldung:
Error: 25/04/2016 22:51:02:
At C:\work\mycompany\buildapp\psakefile.ps1:117 char:5 +
&('c:\Program Files\Git\bin\git.exe') pull --progress --no-rebase -v origin
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[<<==>>] Exception: From bitbucket.org:mybitbucketusername/work
Ich nehme an, das ist, weil ich nicht git.exe Aufruf von meiner Ordner klonen, aber wie mache ich das? Gibt es eine Möglichkeit, a) git von meinem aktuellen Standort aus aufzurufen und auf einen bestimmten Klonordner anzuwenden? oder b) Wenn a) nicht möglich ist, wie ändere ich den Ordner in psake?
Angenommen, ich kann das erste Problem beheben, wie kann ich den genauen Fehler von Git zurückgegeben. Nur bekommen Ausnahme: Von bitbucket.org ist zu vage.
Gibt es eine bessere Möglichkeit, meinen Code von Bitbucket zu ziehen? Soll ich git bash (für Windows) mit psake von Powershell aufrufen? Ist das besser? Wenn ja, wie rufe ich es mit der spezifischen Befehlszeile auf.
Wenn Sie möchten, dass ich weitere Informationen zur Verfügung stelle, lassen Sie es mich wissen.
Update 1:
Dies ist, was ich bekomme, wenn ich git pull
Error: 26/04/2016 15:46:30:
At C:\work\mycompany\buildapp\psakefile.ps1:120 char:5 +
&('c:\Program Files\Git\bin\git.exe') pull +
[<<==>>] Exception: There is no tracking information for the current branch.
nennen Dies ist zu erwarten, als c: \ work \ mycompany \ BUILDAPP nicht die geklonten Ordner ist. Es ist ein Unterordner des geklonten Ordners.
Ich muss in der Lage sein, git in c:\work\mycompany\buildapp
aufrufen (da dies ist, wo mein Skript läuft), aber ich brauche Git, um Daten aus c:\work\mycompany\
zu ziehen.
Ich hoffe, das Obige klärt meine Frage.
Danke.
UPDATE 2:
git clone [email protected]:myusername/work.git "c:/Work/"
git --git-dir=c:\work\.git --work-tree=c:\work pull origin master
mit PSake Die folgenden Werke:
Die folgenden git Befehlszeilen perfekt funktionieren läuft eine Befehlszeile aus einem beliebigen Ordner aufgerufen wird
Exec {
&('c:\Program Files\Git\bin\git.exe') clone
[email protected]:myusername/work.git 'C:/Work/'
}
Aber ziehen Sie immer noch nicht funktioniert, wenn auf diese Weise aufgerufen:
exec {
&('c:\program files\git\bin\git.exe') --git-dir=c:\work\.git
--work-tree=c:\work pull origin master
}
ich noch einen Fehler: viel
Error: 29/04/2016 10:06:36:
At C:\temp\buildapp\psakefile.ps1:124 char:8 +
&('c:\program files\git\bin\git.exe') --git-dir=c:\work\.git - ... +
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[<<==>>] Exception: From bitbucket.org:myusername/work
Leider ist die Ausnahme uns nicht sagen.
Ich habe verschiedene Kombinationen mit Anführungszeichen/Doppelzitat mit den Argumenten ausprobiert, aber ohne Erfolg.
Irgendwelche Ideen?
Gibt es mehr zu diesem Fehler? Entweder über oder unter diesem Snippet? Das ist deine Fernbedienung, also muss sie in deinem Git-Arbeitsverzeichnis sein. Vermissen Sie vielleicht die notwendigen Anmeldeinformationen? –
Von git -h Ausgabe: '[--git-dir =] [--work-tree = ]' so müssen Sie nur diejenigen angeben, um git überall auszuführen. Alternative wäre, Invoke-WebRequest zu verwenden, um eine Zip mit der neuesten Quelle von bitbucket zu erhalten, denke ich –
stijn
@EtanReisner - Nein, das ist leider der volle Fehler, der angezeigt wurde. Ich änderte mein ssh, um keine Umschreibung zu haben, und teste es und es funktioniert wie erwartet, also glaube ich nicht, dass es die Berechtigung ist. Irgendwelche anderen Ideen? – Thierry