2014-05-22 11 views
5

Wprowadziłem pewne zmiany, zatwierdziłem je i przekazałem oddział Gerrit (git push gerrit). Teraz moje zmiany nie pojawiają się w Gerrit i zakładam, że to dlatego, że ręcznie wprowadziłem zmiany zamiast używać git review. Kiedy uruchamiam git review teraz, Im uzyskiwanie ten błąd:Gerrit:! [zdalny odrzucony] HEAD -> refs/publish/master (brak nowych zmian)

remote: Processing changes: refs: 1, done  
To ssh://[email protected]:29418/Project 
! [remote rejected] HEAD -> refs/publish/master (no new changes) 
error: failed to push some refs to 'ssh://[email protected]:29418/Project' 

Jak mogę powiedzieć, że moje Gerrit changeset musi zostać zweryfikowane?

+1

Co alias 'git review' oznaczają? –

+1

@TimCastelijns: https://github.com/openstack-infra/git-review – lrineau

+0

Najprostszą poprawką byłoby dokonanie super-drobnej edycji (edycja komentarza lub czegoś), poprawienie zatwierdzenia i ponowienie za pomocą poprawnego polecenia –

Odpowiedz

3

Myślę, że problem polega na tym, że zatwierdzenie jest już w odległej gałęzi. Dlatego nie ma żadnych nowych zmian w push. Najpierw spróbuj wykonać remove zatwierdzenie z oddziału zdalnego, a następnie przeprowadź zatwierdzenie, aby przejrzeć gałąź.

+0

Czy ten bałagan nie będzie związany z wewnętrzną bazą danych Gerrit? – stackular

+0

Myślę, że problem polega na tym, że w zdalnym oddziale istnieje już zatwierdzenie z tą zmianą, którą próbujesz przesłać, aby przejrzeć także gałąź. Nie, nie będzie, ponieważ to zatwierdzenie z tym zmianą nie zostało jeszcze sprawdzone - więc nie ma żadnego wpisu w bazie danych Gerrit. – HiB

5

można usunąć które zobowiązują ze zdalnego oddziału lub można to zrobić

git commit --amend 

to utworzy nowy plaster

git push gerrit HEAD:refs/for/your_branch 
+0

Dla mnie stało się to, gdy pchnąłem tę samą łatkę dla mistrza, a następnie dla funkcji brachu. Problem polegał na tym, że dwie łatki miały tę samą zmianę, więc drugie naciśnięcie zostało odrzucone. Po zatwierdzeniu --amend działało dobrze. –

0

Znalazłem że git review nie złoży oddział bez zmiany. Zasadniczo mówi się: "ponieważ nie ma zmian w twoim zatwierdzeniu, nie ma powodu, aby składać ... więc nie będę". W przeciwieństwie do twojej sytuacji przydarzyło mi się to, gdy w poprzednim pushie wystąpił błąd.

To, co zrobiłem w takich przypadkach, to po prostu wprowadzić drobną zmianę (np. Dodanie pustej linii), aby gerrit mógł zobaczyć różne rzeczy, a następnie zadziała.

Inną rzeczą, którą możesz zrobić (w zależności od procesu używanego w organizacji) jest usunięcie ID zmiany z dziennika zmian (przy użyciu git commit --amend), a następnie uruchomienie git review, tworząc w ten sposób nowy zestaw recenzji, w zasadzie patrząc tak daleko tak jak Gerrit.

-1

Aby uniknąć tego błędu

! [remote rejected] HEAD -> refs/for/develop (no new changes) 

Wystarczy wykonać kroki

git commit --amend # this will create a new patch 
git push gerrit HEAD:refs/for/your_branch 
Powiązane problemy