2013-07-18 13 views
13

Próbuję przenieść część moich danych do gerrita z TortoiseGit. Stworzyłem nowe repozytorium i przekazałem je mistrzowi. Dodałem jeden pilot, wraz z moim kluczem prywatnym, a także przesłałem klucz publiczny.Wciśnij gerrit z oknami

Ciągnięcie od Gerrit nie jest problemem, ale gdy próbuję naciskać następujący błąd:

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/ 

Dużym problemem jest to, że żyję w świecie okien, gdzie jest brak $ scp .. .. wszelkie sugestie, jak mogę zainstalować git hook lub dostarczenie identyfikatora commit?

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

Odpowiedz

18

Wystarczy go pobrać z: http://www.example.com/r/tools/hooks/commit-msg a następnie skopiować go do folderu .git/haków.

Można go pobrać ze gerrit review

- Update -

Jeśli dodać hak commit po dokonaniu zatwierdzenia lokalnie, co jest chyba przypadek, trzeba zmienić swój ostatni popełnić. Po prostu zmiana ostatniego zatwierdzenia bez wprowadzania rzeczywistych zmian spowoduje dodanie identyfikatora Change-ID do komunikatu dziennika.

  1. git commit -a --amend
  2. git log -1 // to, by sprawdzić, że zmiana ID jest obecny w wiadomości dziennika
  3. git push origin HEAD:refs/for/master

- Update 2 -

jeśli są podobni do mnie i mają wiele projektów tworzenia klonów co jakiś czas, więc możesz chcieć skonfigurować instalację git, aby domyślnie instalowany był hook commit-msg. Możesz to zrobić, kopiując commit-msg do folderu szablonu git. W moim systemie Win7 można znaleźć tutaj:

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

Następnym razem, gdy tworzysz nowy klon nie trzeba ponownie pobrać commit-MSG.

+0

Link jest teraz naprawić – uncletall

+0

Zasadniczo można pobrać popełnić -msg w katalogu tools/hooks z twojej instalacji gerrit. Ponieważ nie znałem twojego adresu URL, wstawiłem example.com. Myślę, że powinno to rozwiązać twój problem. Proszę przyjąć odpowiedź. – uncletall

+0

Jeśli pobierzesz commit-msg z recenzji gerrit i skopiuj go do ' \. Git \ hooks', to nie działa. Nadal dostaję ten sam komunikat o błędzie. – Niklas

1

To wygląda jak przypadek odpowiednich haczyków, które nie zostały pobrane do twojego klona.

Można spróbować zrobić to:

# 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/ 

Teraz przejdź do folderu haków i zrobić ls aby sprawdzić, czy masz wymagane haki pobrane.

Nie instalować żadnych haczyków po prostu skopiować go z gerrit repo

Aktualizacja https://www.mediawiki.org/wiki/Talk:Gerrit/git-review jest to, czego być może szuka

+0

wystarczy skopiować ten plik commit-msg do swojego katalogu .git/hooks .. Nie jestem pewien, czy masz uprawnienia do instalowania oprogramowania na komputerze z systemem Windows ... ale gdybyś mógł ... zainstalować 'putty' lub możesz też użyć 'Win-scp' ... możesz poprosić administratora, żeby wysłał Ci go" e-mailem ", a możesz go skopiować – Vikram

+0

zobacz moją zaktualizowaną odpowiedź ... – Vikram