Gerrit/Výukový program TortoiseGit
Tento výukový program může pomoci uživatelům Windows, kteří přispívají zdrojovým kódem do Gerrit a gitu.
Instalace softwaru
- Stáhněte a nainstalujte TortoiseGit a jazykový balíček
- Stáhněte a nainstalujte Git pro Windows
- Vyberte možnost
Integrace Průzkumníka Windows – Jednoduché položky kontextových nabídek: "Zde Git Bash", což je doporučeno.- Volitelně lze vybrat
Další ikonypro plochu a panel Rychlé spuštění. - Výběr možnosti
Git GUI zdeje volitelný, ale my používáme TortoiseGit jako grafické uživatelské rozhraní.
Na druhou stranu, s uvedením, že grafické uživatelské rozhraní v případě potřeby provede rychlé kompresní vyčištění lokálního repozitáře. - Nevybírejte
kontextové menu Rozšíření (plugin git-cheetah)(k dispozici pouze u starších verzí) - Měli byste si ponechat asociace souborů pro *.git a *.sh.
- Je na vás, abyste používali písma TrueType ve všech oknech konzoly.
- Volitelně lze vybrat
- Ponechat výchozí složku
Nabídka Start - V dalším kroku vybereme "Run Git from Windows Command Prompt" (spustit Git z příkazového řádku systému Windows). Jinak se některé skripty nemusí spustit.
- Vyberte 3. položku s názvem 'Checkout as-is, commit as-is' (checkout jak je, potvrzení jako je) pro konverze zakončení řádku.
- Vyberte možnost
Nastavení prostředí
Vytvořte a publikujte svůj SSH klíč
- Spusťte puTTYgen v nabídce Start nebo v souboru
C:\Program Files\TortoiseGit\bin\puttygen.exe, vytvořte nový SSH klíč a uložte jej do souboru .ppk. Uložte také veřejný klíč. - Přihlaste se do gerrit:, použijte své uživatelské jméno a heslo z laboratoře
- Přejděte do
Nastavení > Veřejné klíče SSHa přidejte svůj veřejný klíč. - Přejděte do
Nastavení > Identitya ověřte svou e-mailovou adresu a účet (identitu).
Naklonujte svou pracovní kopii
- Klikněte pravým tlačítkem myši v Průzkumníku Windows a vyberte "Git clone" pro naklonování repozitáře do zadaného adresáře. Použijte URL z repozitáře Gerritu, např.
https://gerrit.wikimedia.org/r/pywikibot/corepro jádro pywikibot. - Vyberte přepínač
rekurzivní. - Pokud je zapnutá možnost "Načíst Putty Key", zrušte zaškrtnutí tohoto tlačítka, protože si ji probereme v dalším kroku.
Nastavení TortoiseGit
- Klikněte pravým tlačítkem myši na váš repozitář a otevřete
TortoiseGit > Nastavení - Vyberte
Git > Vzdálenéa vyberte vzdálený server "origin". Ověřte URL a vyberte svůj soukromý soubor puTTYkey .ppk, pokud jste tak neučinili dříve. - Zvolte
Git(neboGit > Config) a ověřte, zda se vaše jméno a e-mail v uživatelských informacích shodují s údaji vašeho účtu Gerrit. - Klikněte na
Upravit globální .gitconfiga znovu ověřte, že vaše jméno a e-mail jsou stejné jako v Gerritu. - Zvolte
Obecné > Nastavit položku nabídky Rozšířita zrušte zaškrtnutí políčkaProcházet reference.
Nastavení Gitu
Gerrit se používá pro pracovní postup revize a Git musí být instruován, aby změny odesílal do Gerritu, nikoli do oficiálního repozitáře Git. Existují dva způsoby, jak to udělat:
Používání TortoiseGitu
- Znovu otevřete
TortoiseGit > Nastavenía vyberteGit(neboGit > Konfigurace) - Klikněte na tlačítko Upravit globální .gitconfig a přidejte následující sekce:
[url "ssh://<username>@gerrit.wikimedia.org:29418"]
insteadOf = https://gerrit.wikimedia.org/r/
[branch]
autosetuprebase = remote
Používání gitu bash
- Klikněte pravým tlačítkem myši na váš repozitář a spusťte
Git Bash Here(Git Bash zde) - Zadejte následující řádky:
git config --global url."ssh://<username>@gerrit.wikimedia.org:29418".insteadOf "https://gerrit.wikimedia.org/r/"git config --global branch.autosetuprebase remote.
Instalace háčku commit-msg
- Stáhněte si háček skript commit-msg z repozitáře a nainstalujte ho do složky
<název projektu>/.git/hookspomocí příkazu Uložit jako...
Poznámka: .gitje skrytá složka.- Související stránky: Gerrit/Alternativy ke git-review – pro další varianty k instalaci skriptu.
Práce s repozitářem
Všechny potřebné příkazy TortoiseGitu najdete v kontextové nabídce po kliknutí pravým tlačítkem myši na váš lokální repozitář a výběru možnosti TortoiseGit.
Není nutné mít nainstalované Gerrit/Recenze Gitu.
Zobrazení protokolu repozitáře
Existují dva způsoby, jak zobrazit protokol repozitáře:
- Použijte příkaz
Zobrazit protokol - V kontextové nabídce použijte
Vlastnostisystému Windows. Vyberte kartuGita klikněte na tlačítko Zobrazit protokol.
Aktualizujte svůj repozitář
Pro aktualizaci lokálního repozitáře můžete postupovat podle následujících kroků:
- Uložte si lokální změny pomocí příkazu
Stash Save. Můžete zadat komentář nebo jej ignorovat. Dalším způsobem, jak uložit lokální změny, je jejich commit (potvrzení) do lokálního repozitáře, což bude vysvětleno později. Stáhnout...změny ze vzdáleného repozitáře. Nechte zaškrtnuté políčkoAutoLoad Putty Key. Můžete zaškrtnout políčkoLaunch Rebase after Fetchpro spuštění rebase nebo jej spustit ručně.- Přebazujte svůj repozitář, abyste zrychlili přesměrování lokální hlavní větve do její vzdálené větve. Použijte buď možnost
Rebase..., nebo zaškrtněte políčko závislé na výše uvedeném obrázku. Poté v případě potřeby klikněte na Start (FastFwd) a po dokončení klikněte na Hotovo nebo na Zrušit. Stash poppro použití lokálních změn v pracovním stromu a odstranění stashu ze zásobníku.
Aktualizace externích prvků
- Použijte k tomu příkaz
Aktualizace submodulu.... To je potřeba např. pro zprávy i18n.
Vytvoření nové sady změn
Pokud chcete změnit kód a odeslat ho do vzdáleného repozitáře, postupujte takto:
- Select
Create Branchand enter a meaningfull branch name. Enable check boxSwitch to new branchand click OK. If you haven't enabled this check box you may use theSwitch/Checkout...command after that. Creating a new branch is also available from context menu inside repository log. - Make your changes on your local repository and test it.
- Commit you changeset to the local repository by
Git Commit -> <your local branch name>command; this command is part of the windows context menu not the TortoiseGit context submenu. - Add a descriptive commit message into the message field for your commit. Refer Gerrit/Commit message guidelines.
- Click
View Patch>>at the bottom of the dialog window to see the patch and verify the changes. - Enable the checkbox
Amend Last Commitif this change is a follow-up of an already commited patch of the same branch - Klick Commit
- Push... to submit your patch to the remote repository for peer review, otherwise press close
Odeslání záplaty
- Either use Push... of the commit dialog or use
Push...from context menu. Local:: Select you local branch to submit. Default is your actual branchRemote:typerefs/for/masterfor the destination. You may easily add a gerrit topic for your changeset by appending it separated by "%topic=", e.g.refs/for/master%topic=mytopic.- Press OK to submit your patch.
Stáhněte si záplatu k recenzi
Opravu od jiných vývojářů si můžete stáhnout do svého lokálního repozitáře a zkontrolovat ji podle následujících kroků:
- First create a new local branch
- Choose
Fetch.... A new dialog window will be opened. - Select
Arbitrary URL. - Enter the repository URL there, e.g.
ssh://<username>@gerrit.wikimedia.org:29418/pywikibot/core - Enter the remote branch setting like
refs/changes/<index no>/<change no>/<PS no>e.g.refs/changes/32/9332/1, where<index no>are the last two digits of<change no><change no>is the gerrit change number<PS no>is patch set number of that change
- OK to fetch this patch set
- Choose
Git Bash herefrom windows context menu - type
git cherry-pick FETCH_HEADin the git window
Problémy, potíže a jejich alternativní řešení
Chybí ID změny v commitu
Nejprve nainstalujte háček commit-msg, viz výše.
Klonování Gitu se zasekává
If Git Clone... hangs after "Resolving deltas" hits 100% and you are using PuTTY: Open up PuTTY, load Default Settings, and set "Chokes on PuTTY's SSH-2 'winadj' requests" to "On" under Connection->SSH->Bugs. Then select Session, select Default Settings, and Save.