2013-07-18 12 views
13

Ich kämpfe, um einige meiner Daten zu einem Gerrit mit TortoiseGit zu schieben. Ich habe ein neues Repo erstellt und es dem Meister übergeben. Ich habe eine Fernbedienung hinzugefügt, mit meinem privaten Schlüssel und ich habe auch den öffentlichen Schlüssel hochgeladen.Drücken Sie auf Gerrit mit Windows

vom gerrit Pulling ist kein Problem, aber wenn ich versuche, die folgende Fehlermeldung drücken auftritt:

remote: Resolving deltas: 100% (96/96) 
remote: Processing changes: refs: 1, done  
remote: ERROR: missing Change-Id in commit message 
remote: Suggestion for commit message: 
remote: Initial Commit 
remote: 
remote: Change-Id: Icb5f79b9a32abc77a99f0034ecc6a5a9ae9ef1c6 
remote: Hint: To automatically add a Change-Id to commit messages, install the commit-msg hook: 
remote: $ scp -p -P 29418 <server stuff>:hooks/commit-msg .git/hooks/ 

Das große Problem ist, ich bin in einer Windows-Welt leben, wo kein $ scp ist .. .. irgendwelche Vorschläge, wie kann ich Git Hook installieren oder eine Commit ID liefern?

Btw git hooks --install kehrt 'hooks' is not a git command

Antwort

18

nur als Download von: http://www.example.com/r/tools/hooks/commit-msg und kopieren Sie sie dann auf Ihre .git/Haken-Ordner.

Oder man kann es von gerrit review

Download - Update -

Wenn Sie den Haken verpflichten hinzufügen, nachdem die lokal machen begehen, was wahrscheinlich der Fall ist, müssen Sie Ihre letzte verpflichten ändern. Wenn Sie einfach das letzte Commit ändern, ohne echte Änderungen vorzunehmen, wird die Change-ID zu Ihrer Protokollnachricht hinzugefügt.

  1. git commit -a --amend
  2. git log -1 // Das ist zu prüfen, ob die Wechsel-ID in Ihrer Log-Nachricht vorhanden ist
  3. git push origin HEAD:refs/for/master

- Update 2 -

Wenn Sie sind wie ich und haben viele Projekte beim Erstellen von Klonen hin und wieder möchten Sie vielleicht Ihre Git-Installation so einrichten, dass der Commit-msg-Hook standardmäßig installiert ist. Sie können dies tun, indem Sie die Commit-Nachricht in Ihren Git-Vorlagenordner kopieren.

C:\Program Files (x86)\Git\share\git-core\templates\hooks

Das nächste Mal, wenn Sie einen neuen Klon erstellen Sie den Commit-msg wieder nicht herunterladen müssen: Auf meinem Win7-System kann es hier.

+0

Verbindung fixiert ist jetzt – uncletall

+0

Grundsätzlich können Sie die commit herunterladen -msg-Skript im Verzeichnis tools/hooks von Ihrer Gerrit-Installation. Da ich deine URL nicht kannte, habe ich example.com angegeben. Ich denke, das sollte Ihr Problem lösen. Bitte akzeptiere die Antwort. – uncletall

+0

Wenn ich die commit-msg von gerrit-review herunterlade und sie in ' \. Git \ hooks kopiere, funktioniert es nicht. Ich bekomme immer noch dieselbe Fehlermeldung. – Niklas

1

Dies sieht wie ein Fall von geeigneten Hooks aus, die nicht in Ihren Klon heruntergeladen wurden.

können Sie versuchen, dies zu tun:

# cd into your clone such that you should be able to see .git folder on ls -a 
# for example if you had following structure myclone/myproject/.git 
# you have to cd to myclone/myproject directory 


$ scp -p -P 29418 <server stuff>:hooks/commit-msg .git/hooks/ 

jetzt zum Haken gehen Ordner und ls tun, um zu sehen, ob Sie heruntergeladen Haken erforderlich sind.

Sie installieren keine Haken Sie kopieren Sie es einfach aus Ihrem gerrit Repo

aktualisieren https://www.mediawiki.org/wiki/Talk:Gerrit/git-review ist, was Sie vielleicht suchen

+0

Sie müssen diese commit-msg-Datei einfach in Ihr .git/hooks-Verzeichnis kopieren. Ich bin mir nicht sicher, ob Sie die Berechtigung haben, Software auf Ihrem Windows-Rechner zu installieren ... aber wenn Sie ... 'putty' oder Sie könnten 'Win-scp' auch verwenden ... oder Sie könnten den Administrator bitten, es Ihnen zu" mailen "und Sie könnten es kopieren – Vikram

+0

siehe meine aktualisierte Antwort ... – Vikram