Gerrit

Podstawowe adresy

Rozpoczęcie pracy z Gerritem

  1. Zalogować się na https://gerrit.wmi.amu.edu.pl (login i hasło wydziałowe).
  2. Wygenerować parę kluczy SSH (lub skorzystać z już istniejącej).
  3. Klucz publiczny (nie prywatny!) należy wgrać do Gerricie przez interfejs WWW (Setting po prawej stronie / SSH Public keys, wklejamy zawartość pliku {{{.ssh/id_rsa.pub}}} i ‘’Add’’).

Ustawienie mejla w gicie

git config --global user.email "me@here.com"

Wpisać dokładnie taki sam adres jak w Gerricie!

Rozpoczęcie pracy z repozytorium

  1. Klonujemy repozytorium z Gerrita:
git clone ssh://USER@gerrit.wmi.amu.edu.pl:29418/REPO.git
  1. Wchodzimy do utworzonego katalogu:
cd REPO
  1. Kopiujemy specjalny „hak”, który będzie automatycznie dodawał identyfikator zmiany (Change-Id do logów):
scp -p -P 29418 USER@gerrit.wmi.amu.edu.pl:hooks/commit-msg .git/hooks/
  1. Nadajemy prawa dostepu do haka:

(Potrzebne tylko na komputerach wydziałowych).

chmod u+x .git/hooks/commit-msg

Wysyłanie commita

  1. Pobieramy ostatnie zmiany w repozytorium:
git fetch origin master
git rebase FETCH_HEAD

(Uwaga! Jak widać nie używamy zwykłej operacji pull.

  1. Dokonujemy zmian, używamy poleceń git add ..., git commit ....

  2. Wysyłamy zmianę w następujący sposób:

git push origin HEAD:refs/for/master

Wysłany commit nie jest od razu dołączany do gałęzi master, lecz trafia do „poczekalni”, gdzie musi zostać zaakceptowany przez recenzenta. Niezatwierdzone commity widać poprzez interfejs WWW na stronie https://gerrit.wmi.amu.edu.pl.

Wysyłanie poprawki

Jeśli zmiana nie została zaakceptowana (przez Jenkinsa lub przez człowieka-recenzenta), poprawkę należy zakomitować z opcją --amend.

git commit --amend

Jeśli jednak zmiana został zaakceptowana („merged”), nie należy używać --amend.