Gerrit/Alternativy ke git-review
Pokud pro vás není instalace git-review proveditelná, můžete použít i obyčejný Git. To může být někdy lepší volba, pokud git-review nevyhovuje vašemu pracovnímu postupu.
Nastavení
Stáhněte si háček skriptu commit-msg z adresáře gerrit:tools/hooks/commit-msg a uložte ho do podadresáře .git/hooks/ vaší naklonované kopie repozitáře.
Existují tři způsoby, jak to udělat:
Používání curlu
cd myrepo/
curl https://gerrit.wikimedia.org/r/tools/hooks/commit-msg > .git/hooks/commit-msg
Označte soubor jako "executable" (spustitelný). V Linuxu to můžete změnit pomocí:
chmod u+x .git/hooks/commit-msg
Použití wgetu
cd myrepo/
wget -P .git/hooks https://gerrit.wikimedia.org/r/tools/hooks/commit-msg
Označte soubor jako "executable" (spustitelný). V Linuxu to můžete změnit pomocí:
chmod u+x .git/hooks/commit-msg
Používání webového prohlížeče
Po kliknutí pravým tlačítkem myši na tento odkaz vyberte z kontextové nabídky možnost "Uložit jako...": gerrit:tools/hooks/commit-msg
Ušetřete na myrepo/.git/hooks/
Potvrdit
Kdykoli lokálně provedete změnu, háček skriptu automaticky přidá do zprávy o potvrzení unikátní hodnotu "Change-Id".
Žádost o kontrolu
Přidejte k následujícímu aliasu Git pro zjednodušení příkazu pro odeslání změn Gerrit k revizi. Můžete to provést provedením následujícího příkazu:
git config --global alias.push-for-review "push gerrit HEAD:refs/for/master"
Pokud máte vzdálený server jediný 'origin', pak ve výše uvedeném příkazu nahraďte 'gerrit' za 'origin':
git config --global alias.push-for-review "push origin HEAD:refs/for/master"
Část refs/for/ je prefix virtuální větve, který používá Gerrit.
Můžete však nahradit "master" jinou vzdálenou pobočkou, do které chcete provést commit.
Např.: Při pokusu o odeslání do vzdálené větve Foo použijte refs/for/Foo.
Odešlete Gerritu commit pomocí:
git push-for-review
Pokud chcete seskupit několik souvisejících sad změn (při práci na funkci nebo jen proto, aby byly v Gerritu prohledávatelné), můžete je zařadit pod stejné téma pomocí refs/for/Foo%topic=topic, například:
git push gerrit HEAD:refs/for/master%topic=T12345
git push gerrit HEAD:refs/for/master%topic=my-feature