IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: GitHub - jak se zde spolupracuje - commit

Aktivity
Avatar
Roman Duchoň:30.5.2018 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.5.2018 20:02
RD
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Roman Duchoň
Honza Bittner:30.5.2018 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í
+2,50 Kč
Řešení problému
Nahoru Odpovědět
30.5.2018 21:36
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Roman Duchoň:12.6.2018 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.6.2018 18:39
RD
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Roman Duchoň
Honza Bittner:13.6.2018 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
13.6.2018 10:58
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Roman Duchoň
Honza Bittner:13.6.2018 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.6.2018 10:59
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Roman Duchoň:13.6.2018 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.6.2018 18:20
RD
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Roman Duchoň
Honza Bittner:15.6.2018 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
15.6.2018 17:11
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Roman Duchoň:16.6.2018 21:33

Děkuji. :)

Nahoru Odpovědět
16.6.2018 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.