Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: zemla 05. 06. 2019, 22:40:42
-
Dobrý den,
mám v plánu založit si novou odnož produktu, který je pod MIT na githubu.
Jejich produkt se už nevyvíjí, ale sem tam se tam objeví nějaký ten bugfix.
Svoji odnož chci rozšířit o něké ty nové funkcionality.
K tomuto je tedy prosím určen fork? A pokud ano, půjde do něj namergovat nějaký ten bugfix z původní větve ?
Díky.
-
Fork se na github běžně používá k vlastní větvi vývoje a následnému vytvoření pull request. V zásadě je fork obyčejný clone do vlastního účtu.
Výše uvedené je samozřejmě možné, git nijak nerozlišuje, odkud branch pochází - zda jde o lokální branch nebo remote branch. Pokud budou repositáře a branch sdílenou historii, tak se dá libovolně merge-ovat tam a zpátky. Samozřejmě, čím víc budou repositáře diverge-ovat, tím bude víc práce s konflikty. V případě jednoduchých bugfixes se dá předpokládat spíš minimum. Viz například: https://help.github.com/en/articles/merging-an-upstream-repository-into-your-fork , konkrétně remote merge:
git pull remote-repo-URL BRANCH_NAME
Udělá merge do aktuálního lokálního branch. Může být případně zcela nový, aby se stáhla čistá historie z remote repositáře. A poté až třeba merge-ovat lokálně.
-
K tomuto je tedy prosím určen fork?
Mimo jiné je určen i k tomuto, na GitHubu takhle najdete spoustu projektů, které už se v původním repository nevyvíjí, ale pokračuje nějaký jejich fork.
Na GitHubu se fork používá i v případech, kdy chcete do jiného projektu jenom přispívat – uděláte si fork projektu u sebe, tam vyvíjíte a když to máte připravené, dáte pull request na přetažení vašich změn do původního repository.
A pokud ano, půjde do něj namergovat nějaký ten bugfix z původní větve ?
Ano, půjde. Forky na GitHubu jsou standardní klony repository. Takže ve svém lokálním repository můžete mít jako vzdálené repository připojený svůj fork i původní repository, a commity, patche, branche atd. mezi nimi přetahovat, jak chcete.
Zvážil bych ale domluvu s původním autorem, že vám dá práva zápisu do svého repository, abyste mohl správu jeho projektu postupně převzít. U toho projektu mohou být otevřená issue, wiki, vedou na něj odkazy – vždy je lepší pokračovat v tom původním projektu, než dělat fork. Fork se dělá v případě, kdy původního správce nejde kontaktovat, nebo když se s ním nedá domluvit.