Vánoční nadílka Vánoční nadílka
Až 80% zdarma! Předvánoční BLACK FRIDAY akce. Více informací
Avatar
Roman Duchoň:30. května 20:02

Ahoj,
učím se pomalu v Gitu, pro vlastní zálohování, ale také pro budoucí případnou spolupráci.

Narazil jsem na GitHub a snadno propojil s Gitem.

Přesto by mě zajímalo - jak tady funguje spolupráce?
Chápu správně, že jakmile přidám "collaboratora", může do mého repozitáře i zapisovat?
A to se automaticky commitne nebo to pak můžu udělat jen já?
Nebo lze přidělit práva pro zápis jen k nějaké konkrétní větvi?

Prostě... by mě zajímalo, jak to tak nějak v základu funguje... aby nebyl chaos. :)

Zatím plány nemám, jen testuji, když se učím.

Popř. kdyby byl ochotný někdo mi tam něco neziskově ukázat, popř. alespoň zkusit přidat nějaký texťák (žádné programování), abych věděl, jak to funguje, budu vděčný.

Je to pro mě celé oříšek - samo o sobě to těžké není, ale těžko si to představit v praxi.

Dík.

Odpovědět 30. května 20:02
RD
Avatar
Honza Bittner
Šupák
Avatar
Odpovídá na Roman Duchoň
Honza Bittner:30. května 21:36

Na GitHub si můžeš nastavit, jaká práva mají collaborators a owner. Jde např. nastavit, že každá změna v default branch (master) půjde udělat jen přes pull request s odsouhlasením od x lidí (to jde nastavit i pro ownera).

Většinou se pracuje právě přes pull requesty, kde si každý vývojář pro danou menší funkcionalitu vytvoří větev na které vytvoří pull request (prostě žádost o merge dané větve, většinou do defaultní, tj. master). Tzn. kdybys dostal za úkol udělat nějakou funkcionalitu, tak si naclonuješ repozitář (git clone ...)k sobě na pc, tam si vytvoříš novou větev (git checkout -b ...), uděláš sérii komitů a během práce, či až dokončíš, vytvoříš náležitý pull request na GitHubu. To uděláš tak, že pushneš své změny v nové větvi a na GitHub se ti objeví možnost vytvořit právě daný pull request. Ten samozřejmě náležitě okomentuješ.

By default nemají lidé push access, a pokud ho chceš někomu dát, přidáš ho jako collaboratora (+ owner).

Podívej se na nějaké větší repozitáře, jak to funguje tam. Například https://github.com/flutter/flutter

Je to opravdu jednoduché. Trochu si vokoukni repozitáře a třeba si i pohraj se svým.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +5 30. května 21:36
Milovník Dartu. Student FIT ČVUT. Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/...
Avatar
Roman Duchoň:12. června 18:39

+ - lehce otestováno.

Menší otázka ještě (a tím to prozatím u sebe uzavřu) - jde nastavit, že merge může udělat jen Owner (bez dalších odsouhlasení)?

Viz obrázek.

Dle tohoto nastavení jsem musel odsouhlasit z druhého účtu a pak až merge šlo (a myslím i u druhého účtu).

A nebo je to v rozporu s filozofií otevřeného kódu?

Nahoru Odpovědět 12. června 18:39
RD
Avatar
Honza Bittner
Šupák
Avatar
Odpovídá na Roman Duchoň
Honza Bittner:13. června 10:58

Odškrtni "Include administrators" a ty jako admin (owner) nebudeš muset mít review. Ostatní (tuším i collaborators) budou muset.

Nahoru Odpovědět  +1 13. června 10:58
Milovník Dartu. Student FIT ČVUT. Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/...
Avatar
Honza Bittner
Šupák
Avatar
Odpovídá na Roman Duchoň
Honza Bittner:13. června 10:59

Jo, ty to asi myslíš trochu jinak. No, merge můžeš udělat ty jako owner a pak všici collaborators (ty co explicitně nastavíš v tom seznamu), pokud jim projdou testy (pokud jsou, např. Travis CI) a pokud budou mít to review.

Pokud chceš, abys mohl dělat merge jen ty, odstraň všechny z collaborators.

Nahoru Odpovědět 13. června 10:59
Milovník Dartu. Student FIT ČVUT. Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/...
Avatar
Roman Duchoň:13. června 18:20

No jasné! :)

Když bych neměl collaboratory, nemůžou zas pushovat, ne?

Každopádně to už je fuk - protože to, že musí mít schválení a já, jako admin mohu mergovat kdykoliv mi plně dostačuje!

Takže VELIKÉ díky. :) (předtím jsem v zápalu ani nepoděkoval).

Nahoru Odpovědět 13. června 18:20
RD
Avatar
Honza Bittner
Šupák
Avatar
Odpovídá na Roman Duchoň
Honza Bittner:15. června 17:11

No, každý ti může pushnovat pomocí pull requestů, tj. že si vytvoří větev, kterou ti pak navrhne k zařazení k tobě do kódu. To, že někoho nastavíš jako "collaborator" znamená to, že může pushovat přímo (mimo jinak nastavené větve) a že mají v issues atp. odznáček.

Nahoru Odpovědět  +1 15. června 17:11
Milovník Dartu. Student FIT ČVUT. Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/...
Avatar
Roman Duchoň:16. června 21:33

Děkuji. :)

Nahoru Odpovědět 16. června 21:33
RD
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.