Toto se rozdělilo od mé předchozí otázky: Mohu vybrat, kdo může přispět do mého projektu Open Source?
Vzhledem k tomu, že jsem nikdy předtím nepracoval na softwaru s otevřeným zdrojovým kódem a vyvíjel své vlastní mini aplikace, které doufám vydám v App Store někdy letos v létě, nejsem obeznámen s tím, jak většina open source funguje jsou nastaveny vývojové struktury (vidlice, hlavní úložiště …).
Jedna věc, která se objevila, byla zmínka o požadavku na vyžádání. Co přesně je požadavek na vyžádání?
Odpověď
Termín „vyžádaná žádost“ pochází z git
, kde git pull
slouží ke sloučení jiného úložiště do vašeho místního. Takže pokud má někdo jiný kopii vašeho git
úložiště a provede v něm změny, které by vám byly líbily k začlenění vás mohou požádat o pull
změny ze svého úložiště; „znovu žádá o pull
, proto termín“ vyžádaná žádost „.
V dnešní době se to u většiny uživatelů obvykle skrývá za nějakým grafickým rozhraním Github nebo Bitbucket nebo například přes Gerrit; ale princip zůstává stejný: někdo zkopíruje vaše úložiště, provede změny a požádá o jejich sloučení do vaší vlastní kopie, pravděpodobně poté, co jste je zkontrolovali.
Komentáře
- Git má také příkaz
git request-pull
. Tím se vytvoří písemná zpráva, na kterou můžete poslat někoho jiného a vyzve je, aby pomocígit pull
začlenili vaši práci do své kopie softwaru. - Pro začátečníky to nelze vysvětlit jasněji.
Odpověď
Pokud máte distribuované systémy správy verzí , každý vývojář má kopii celého úložiště. Pokud něco změníte v softwaru, odevzdáte své změny v místním úložišti. Pokud by tyto změny měly mít různá úložiště, můžete změny poslat (přesunutí změn do jiného úložiště máte právo zapisovat) nebo změny vytáhnout (zkopírovat revizi sem m jiných vašich úložišť). Protože mnoho projektů má hlavní úložiště, požadavek na vyžádání je požadavek, který správce stáhne vaše změny.
Čtení trochu na něm , zdá se, že se tento termín používá i na nedistribuované řízení verzí, pokud jeden uživatel požádá o zahrnutí svých oprav do hlavní větve projektu. Další čtení speciálně pro github: https://help.github.com/articles/using-pull-requests/
Odpovědět
Požadavek na stažení se týká systémů pro správu verzí. Můžete mít několik sad uživatelů:
- Administrátoři / Vlastníci
- Přispěvatelé
- Testeři
Chcete každý z těchto lidí může dělat různé věci:
- administrátoři / vlastníci
Těmto lidem lze důvěřovat. Mohli by mít plný přístup k danému úložišti, včetně plných práv k tomu, aby udělali, co chtějí, kdykoli chtějí. - Přispěvatelé
Mohou to být náhodní lidé z Internetu; mohou to být menší lidé ve společnosti. Ať tak či onak, pravděpodobně si nepřejete, aby se mohli zavázat přímo k základně kódů – chcete nejprve zkontrolovat jejich změny.
Odtud přicházejí žádosti o vytažení. Místo povolení přímé změny v základně kódu od vašich přispěvatelů, místo toho rozvětví úložiště, vytvoří kopii na místním počítači a vyvinou to. Až budou hotovi, mohou vytvořit požadavek na stažení obsahující jejich aktualizované kód. Někdo ve vyšší skupině pak může zkontrolovat správnost a soulad svých změn se standardy a sloučit své změny, pokud vyhoví.
Komentáře
- Mírně mimo téma, ale i ti lidé, kteří mohou přímo sloučit své vlastní změny, by měli odeslat PR, aby je mohli kolegové zkontrolovat. Za předpokladu, že ' pracujete v týmu, který je. Pokud ' nejste, myslím, že ' co CodeReview je pro.
- OK. Kroky tedy jsou: rozvětvíte hlavní repo, vytáhnete jej do počítače, upravíte jej, odevzdáte a zatlačíte do své rozvětvené větve a poté požádáte správce, aby z rozvětvené větve strčil a sloučil do hlavní?
Odpověď
Pull request (PR) je metoda odesílání příspěvků do otevřeného vývojového projektu. Dochází k němu, když vývojář požádá o to, aby změny provedené v externím úložišti byly zváženy pro zahrnutí do hlavního úložiště projektu po vzájemné kontrole.
Zdroj: Co je požadavek na vyžádání? na OSS Watch
Jednoduchý příklad je, když naklonujete / rozvětvíte úložiště s otevřeným zdrojovým kódem, provedete nějaké změny / potvrzení a za účelem sloučení změn do hlavního úložiště je nutné odeslat požadavek na stažení, který se skládá ze všech vašich závazků seskupených do jednoho logického dílu, aby zkontrolováno jinými vývojáři.
To má oproti standardním revizím a tlakům určité výhody, protože máte ještě pár očí, které musíte zkontrolovat a vyhnout se běžným / skrytým problémům / chyby před vlastními změnami.
Viz několik příkladů PR:
- GitHub zde nebo zde
- Recenze chromového kódu (ekvivalent požadavku na vyžádání)