æªãã³ãŒããæãã§äººãæãŸãïŒ ãã«ãªã¯éä»åã«å¿ããããã³ãŒãã¬ãã¥ãŒã®ã³ãã¥ãã±ãŒã·ã§ã³è¡
ã³ãŒãã¬ãã¥ãŒãåæ»ã«é²ããããåŠã³ãä¿é²ããããã«éèŠãªãã³ãŒãã¬ãã¥ãŒæã®ã³ãã¥ãã±ãŒã·ã§ã³ãã«ã€ããŠãçŸåœ¹ãšã³ãžãã¢ã»æ± ç° æããã®çµéšãšãšãã«èããŠã¿ãŸãã
ã¢ããªãšã³ãžãã¢ã®æ± ç° æïŒããã ã»ãã ãïŒ@jun_ikdïŒã§ãã ã³ãŒãã¬ãã¥ãŒãšã¯ããšã³ãžãã¢ã«ãšã£ãŠæ¯æ¥çºçããäœæ¥ã§ããããã³ãŒããæžãããšããè¡çºãšçããéèŠãªã¿ã¹ã¯ã®1ã€ã§ããåæã«ããã æŒ ç¶ãšãç²æ¢ãããããã ããã¬ãã¥ãŒã®ç®çã§ã¯ãããŸãããç¹ã«è¥æã®ãšã³ãžãã¢ã«ãšã£ãŠã¯ãå éã®ãšã³ãžãã¢ã®ã³ãŒãã«ãã£ãããšè§ŠããåŠã³ãåŸãŠãããã«ããŒã ã«èªåã®æã€ç¥èã»æè¡ãéå ããã倧äºãªæ©äŒã§ãããã®ã§ãã
ä»åã¯ã³ãŒãã¬ãã¥ãŒãåæ»ã«é²ããããåŠã³ãä¿é²ããããã«éèŠãªãã³ãŒãã¬ãã¥ãŒæã®ã³ãã¥ãã±ãŒã·ã§ã³ãã«ã€ããŠãç§èªèº«ã®çµéšãèžãŸããŠèããŠã¿ãŸããã³ãŒãã¬ãã¥ãŒã®è¯ãæªãã¯ã¢ãŠããããã®å質ãšéçºã¹ããŒãã«åœ±é¿ããŸãããã²ãæ¬çš¿ããè¯ãã³ãŒãã¬ãã¥ãŒãã®æãããã«ããŠã¿ãŠãã ããã
ãªããæ¬çš¿ã¯äŒç€Ÿã®æ¥åãšããŠè€æ°åã®ããŒã ã§éçºããå Žåãã¿ãŒã²ãããšããŸããOSSãžã®ã³ã³ããªãã¥ãŒãçã¯å¯Ÿè±¡ãšããŸããã
- ãšã³ãžãã¢ã«å¿ èŠãªã³ãã¥ãã±ãŒã·ã§ã³ã¹ãã«
- ã³ãŒãã¬ãã¥ãŒãéããŠæé·ããã
- Pull Requestãåºãæ
- ã¬ãã¥ãŒãããæ
- ã¬ãã¥ãŒã¯å šãŠãåãå ¥ããªããŠããã
- ãããã«
- åè
- èè ãããã£ãŒã«
ãšã³ãžãã¢ã«å¿ èŠãªã³ãã¥ãã±ãŒã·ã§ã³ã¹ãã«
ããšã³ãžãã¢ã¯1人ã§é»ã ãšã³ãŒããæžãã ãã§ãªããã³ãã¥ãã±ãŒã·ã§ã³åãå¿ èŠããšèšãããããšãå€ããšæããŸããã³ãã¥ãã±ãŒã·ã§ã³åã¯æœè±¡çã«æ±ãããã¡ãªã¹ãã«ã§ãããå Žé¢ãšç®çãæç¢ºã«ããã°å ·äœçã«åŠã¹ããšèããŠããŸãã ä»å察象ãšããå Žé¢ã¯ã³ãŒãã¬ãã¥ãŒã§ããå€ãã®éçºçŸå Žã§ã¯GitHubã®Pull Requestã䜿ã£ãŠã³ãŒãã¬ãã¥ãŒãè¡ãããŠããããšã³ãžãã¢ã«ãšã£ãŠæ¯éã®é«ãã³ãã¥ãã±ãŒã·ã§ã³ãšèšããã§ãããã
äŒç€Ÿã»ããŒã ã»ã³ãã¥ããã£ã»ããã°ã©ãã³ã°èšèªãªã©ã«ãããã³ãŒãã¬ãã¥ãŒã®ã³ãã¥ãã±ãŒã·ã§ã³ã«ãããããç°ãªãæåããããŸãããã®ãããæ±ºãŸã£ãåœ¢ã®æ£è§£ã¯ãããŸããããè¥æãšã³ãžãã¢ã®æ¹ãéçºããŒã ã«åå ããéã«åèã«ã§ãããããåºã䜿ããèãæ¹ã解説ããŸãã
ã³ãŒãã¬ãã¥ãŒãéããŠæé·ããã
ã³ãŒãã¬ãã¥ãŒã®ç®çãšããŠãŸãèããããã®ã¯ããã°ãçºèŠããŠäºåã«ä¿®æ£ããããšã§ãããã®ããã«ã¯ã³ãŒããçè§£ããå±ãªãç®æãèŠã€ããŠããã°ããã§ãããã
ããããã³ãŒãã¬ãã¥ãŒã®ç®çã¯ããã ãã§ã¯ãªããšæããŸãããäºãã®ç¥èã亀æããããè°è«ããããããããšã§ãææç©ã®å質ãé«ãã€ã€å人ãããŒã ã®ã¹ãã«ã¢ãããç®æãããšãç®çã®äžã€ã ãšèããŸãããã®ããããã°ããã¹ãææããã ãã§ã¯ãªããé©åãªã³ãã¥ãã±ãŒã·ã§ã³ãéããŠãããŒã ã¯ãŒã¯ãçºæ®ããããšãå¿ èŠã§ãã
ãããããPull RequestãåºãåŽã»ã¬ãã¥ãŒããåŽããããããå¿ãããã¹ãããšãã«ã€ããŠèããŠã¿ãŸãã
Pull Requestãåºãæ
ãŸãã¯Pull Requestãåºãæã«å¿ããããç¹ãæããŠãããŸãã
5W1HãäŒãã
ãââãå®è£ ããŸãããããšã ãã³ã¡ã³ããããPull Requestã¯ã¬ãã¥ã¯ãŒãå°ãããŠããŸããããããŸããããã€ãŸã§ã«ã¬ãã¥ãŒããã°ããã®ãããªããã®ã³ãŒããå¿ èŠãªã®ããšãã£ãæ å ±ãäžè¶³ããŠããããã§ããã³ã¡ã³ãã§ã¯ã³ãŒãã®ç®çãéèŠåºŠãæŽçããŠäŒããŸãããã
ããããæ¹æ³ã§ããã5W1Hã䜿ã£ãŠãã³ãã¬ãŒãçã«èšè¿°ããããšãæå¹ã§ãããããããäžèšã®ãããªå 容ãã³ã¡ã³ããããšããã§ãããã
-
When
- ãã€ãŸã§ã«ã¬ãã¥ãŒããŠã»ããã
- ãªãªãŒã¹äºå®æ¥
-
Where
- æ¹ä¿®ããç¯å²
- ãã°ã®åçŸæé
-
Who
- ã©ã®ã¹ããŒã¯ãã«ããŒãé¢ä¿ããŠããã
-
What
- ãŠãŒã¶èŠç¹ã§äœãå€ããã®ã
- éçºè èŠç¹ã§äœãå€ããã®ã
-
Why
- ãã®æ¹æ³ãéžãã çç±
-
How
- å®è£ æ¹æ³ã®è£è¶³
ãã®ããã«æŽçããããšã§å¹çè¯ãã¬ãã¥ãŒãé²ããããšãã§ããŸããã³ãŒããèªã¿é²ããåã«å šäœåãã€ã¡ãŒãžã§ããè€æ°ã®éžæè¢ã®äžãããªããã®æ¹æ³ãéžãã ã®ããäœèšãªè³ªåãç¹°ãè¿ããã«æžããšããã¡ãªããããããŸãã
æ©ãã§ããããšã¯ææè¡šç€ºããã
èšèšãå®è£ ã§æ©ãã§ããéšåã¯ååãæ±ããŸããããã¹ãããªããªããŸãŸåŸ®åŠãªæ¹æ³ã§éçºãé²ããŠããŸããšææ»ãã倧ãããªãããšããããŸãã1人ã§è§£æ±ºã§ããªãã±ãŒã¹ã¯èª°ã«ã§ããããæ¥ãã¹ãããšã§ã¯ãããŸããã
ã³ã¡ã³ãã§ã¯èªåãæ©ãã§ããéšåãšããã®çç±ãäŒããŸãããã
-
æ©ãã§ããéšåãäŒãã
- ãã®é¢æ°ã綺éºã«æžããªãã®ã§ã¢ããã€ã¹ãã»ãã
- ãã®èŸºãäœã ã埮åŠã ããã¢ã€ãã¢åé
-
ãªãæ©ãã§ãããäŒãã
- ããã€ãã®æ¹æ³ããããã©ãããã¹ããªã®ã決ããããªã
- ããããã®ã¡ãªããã»ãã¡ãªãããæããŠäŒãã
ãã®ããã«ãããŒã ã¯ãŒã¯ã§è§£æ±ºãããããšææè¡šç€ºããããšã§ãä»ã®éçºã¡ã³ããŒãæèŠãåºãããããªããååããããç¶æ ãäœããã§ãããã
Pull Requestã¯ç²åºŠãå°ãããé »åºŠãå€ããã
æ¥åã§ããŒã éçºãããéã¯Pull Requestã®ç²åºŠãå°ããããé »åºŠãå¢ããããšãããããããŸãã 1ã€ã®Pull Requestã倧ããå Žåãã¬ãã¥ãŒããã¬ãã¥ã¯ãŒã®è² æ ã倧ãããªããŸããå·®åãæ°100è¡ä»¥äžããå Žåã¯ãããªãã®éäžåããªããšãã°ãèŠéããŠããŸããªã¹ã¯ããããŸãããã®ããå°ããPull RequestãåºããŠã¬ãã¥ãŒã®è² æ ãæžãããå°ããã€çå®ã«é²ããŠããã®ãåŸçã§ããæ°10è¡ä»¥å ã®å·®åã§ããã°ã¬ãã¥ã¯ãŒã®è² æ ãå°ãªããçŽ æ©ãããŒãžãŸã§é²ãããšãã§ãããšæããŸãã
ããäžã€ãPull Requestãåºãã¹ãã³ãçãèšå®ããã®ãããããã§ããå€ãã®å Žåã¯ãªãªãŒã¹ãŸã§ã®ææ¥ã決ãŸã£ãŠãããé ããåºãå Žåã¯ããŒã å šäœã§ã«ããŒããããšãåŸã ã«ããŠããã§ãããããããã£ãã·ãã¥ãšãŒã·ã§ã³ã§ãä»®ã«3æ¥ã«1åããPull Requestãåºããªãæ åœè ãæ¥ã«ç æ¬ ããŠããŸã£ããšãããšãæå€§3æ¥åã®éçºå 容ãèŠãããä»ã®ã¡ã³ããŒãé ããã«ããŒããããšã¯é£ãããªã£ãŠããŸãã
äžæ¹ãæ°æéã®äœæ¥ããšã«Pull RequestãåºããŠããã°ã鲿ãä»ã®ã¡ã³ããŒã«ãèŠããã®ã§ã«ããŒã¯é£ãããããŸãããäœãããã®ç¶æ ã§ãã£ãŠããå šãŠã®ã³ãŒããWIP (Work in Progress) ã§Pull Requestã«ããŠããããšãããæ¹æ³ãããããŸãããããããã鲿ãšéçºå 容ã®å¯èŠåãã¯ã¡ã³ããŒåå£«ãææã«è²¢ç®ããããã®ç¬¬äžæ©ã«ãªãã§ãããã
ã¬ãã¥ãŒãããæ
ç¶ããŠãå察ã«âã¬ãã¥ãŒãããæâã«å¿ããããç¹ãèããŠã¿ãŸãããããã¹ããã°ãšãã£ãå±éºãªç¹ããå¯èªæ§ãäœãããããããè¯ããªãã³ãŒããã¯ã¬ãã¥ãŒãéããŠæ¹åããå¿ èŠããããŸããããããæ°ãã€ããŠã¬ãã¥ãŒãè¡ããªããšãã¬ãã¥ã€ãŒïŒå®è£ è ïŒãäžçšæã«å·ã€ããŠããŸãå ŽåããããŸãã
ã³ãŒãã¬ãã¥ãŒã¯ç²æ¢ããæç€ºã§ã¯ãªã
倧åæãšããŠèªèãããã®ã¯ã¬ãã¥ãŒã®ç®çã¯ãäºãã«ååããŠè¯ãææç©ãäœãããšã§ããæ±ºããŠçžæã®ç²æ¢ãããäžæäžéã®æç€ºã§ã¯ãããŸãããè¯ããªãã³ãŒããæ¹åããããã®ææã¯å¿ èŠã§ããã䞻芳çãªè¡šçŸã§ã¯ãªã客芳çãªäºå®ãäŒããŸããããäŸãæããŠã¿ãŸãã
ãã®äŸã§ã¯ãå ·äœçã«äœãæ¹åãã¹ãããåãããŸããããèªã¿ã¥ãããã¯äž»èгçãªææ³ã§ããããéããä¿®æ£ããšãã£ãèšèã¯å¿ èŠä»¥äžã«å§è¿«æã®ãã衚çŸã§ããçå£ã«åãçµãã ææç©ã«å¯ŸããŠãã®ãããªè¡šçŸãããããšãã¬ãã¥ã€ãŒã¯å·ã€ããŠããŸããããããŸããã åãå 容ãèšãæããŠã¿ãŸãã
ãã¡ãã®äŸã§ã¯ãŸãè€ããŠããŸããã¬ãã¥ãŒã¯æ¹åãã¹ãç¹ãæããã ãã®äœæ¥ã§ã¯ãããŸãããè¯ãç¹ãåŠã³ã«ãªã£ãç¹ãªã©ã¯ç©æ¥µçã«è€ããçžæã®ä»äºã«å¯Ÿããæè¬ãäŒããŸãããã
ããããŠããã¹ããæ·±ãããšããå ·äœçãªæ¹åãã¹ãç¹ãæããŠããŸããæ¹åç¹ã«å¯ŸããŠæç€ºããã®ã§ã¯ãªã倿Žãææ¡ããŠããŸããåæã«ãã¡ã³ããã³ã¹ãããããªãããããšããæ¹åã®å¹æãäŒããããšã§ããžãã£ããªè¡šçŸã«ãªã£ãŠãããã¬ãã¥ã€ãŒãå·ã€ãããã¢ãããŒã·ã§ã³ãåºããããªã³ãã¥ãã±ãŒã·ã§ã³ã«ãªã£ããšèšããã®ã§ã¯ãªãã§ããããã
è¯ãäŸã®ãããªã³ã¡ã³ããæžãã®ã¯æéãããããŸããç§ã以åãèªåã®æéãå¿ã«äœè£ããªããªã£ãŠãããšæªãäŸã®ãããªã¬ãã¥ãŒãããŠããŸã£ãŠããŸãããæªãäŸã®ãããªã¬ãã¥ãŒã¯ã¬ãã¥ã€ãŒãå·ã€ããã ãã§ãªããå®ã¯ã¬ãã¥ã¯ãŒèªèº«ã®ã¢ãããŒã·ã§ã³ãäœäžãããŸãããªãããšãããšãç²æ¢ããããŠãã¬ãã£ããªãã£ãŒãããã¯ãç¹°ãè¿ããŠãããšãããããæ åºŠãçã«ãªã£ãŠããŸãããããã¯ããããŒã ã¡ã³ããŒã®æªãé¢ã°ããã«ç®ãããããã«ãªã£ãŠããŸããŸããã²ããŠã¯ããããã¯ããããŒã ã¡ã³ããŒã«å¯Ÿããã¢ãããŒã·ã§ã³ãäœäžããããšããæªåŸªç°ã«é¥ã£ãŠããŸãããã§ãã
ã³ãŒãã¬ãã¥ãŒã¯æ¯æ¥ã®ã³ãã¥ãã±ãŒã·ã§ã³ãªã®ã§ãããã§ãã¬ãã£ãã¯èšèã䜿ã£ãŠãããšèªåã®æ°æã¡ããã¬ãã£ãã«ãªã£ãŠããŸããäœè£ããªãæã»ã©ããžãã£ããªã³ãã¥ãã±ãŒã·ã§ã³ãå¿ãããŠãããŸãããã
æªãã®ã¯çè§£ãã«ããã³ãŒãã§ããã人ã§ã¯ãªã
ã¬ãã¥ãŒã¯ã³ãŒãã«å¯ŸããŠè¡ããã®ã§ããã人ã«å¯ŸããŠè¡ããã®ã§ã¯ãããŸããã人ã«å¯ŸããŠã³ã¡ã³ãããããšæ»æã«ãªã£ãŠããŸããŸãããã¡ããäŸãæããŠã¿ãŸãã
æªãäŸã§ã¯çžæã®ååãåºããŠããŸããç¹°ãè¿ãã«ãªããŸãããã¬ãã¥ãŒã¯äººã«å¯ŸããŠè¡ããã®ã§ã¯ãããŸãããçžæã®ååãåºãããšã¯é¿ããŸãããã
è¯ãäŸã§ã¯ã解決ã«åããŠååãããããšææè¡šç€ºããŠããŸããã¬ãã¥ãŒã¯ãäºãã«ååããŠè¯ãã³ãŒãã«ããããã®äœæ¥ã§ããäººãæ»æããã®ã§ã¯ãªããååããŠæªãã³ãŒããæ¹åããŸãããã
åé ãšåãããŠãã¬ãã¥ãŒæã®æ°é£ãã«ã€ããŠæããŸããããã®ãããªé æ ®ã¯éå¹çã§æéã®ç¡é§ãšæãã人ããããããããŸããããããã«ãæè¡ã¬ãã«ã®é«ãã¡ã³ããŒéãäžç·ã«åããæéã®é·ãã¡ã³ããŒéããããããããŒã«ãŒã®éæãã§ããã°ãéåºŠã«æ°ã䜿ãå¿ èŠã¯ãªãã§ãããã
ããããå€ãã®çŸå Žã§ã¯ã¡ã³ããŒéã®æè¡ã¬ãã«ãçµéšããã©ãã©ã§ãäžã«ã¯èªåã«èªä¿¡ã®ãªãã¡ã³ããŒãããã§ããããæ¥ã ã®ã³ãã¥ãã±ãŒã·ã§ã³ã®å€ããå ããã³ãŒãã¬ãã¥ãŒã«ãããŠå·¥å€«ãæ°é£ããããããšã§ããäºãã«ååããããé°å²æ°ãäœã£ãŠããŒã ã¯ãŒã¯ãé«ããŠããããšã¯å€§åã ãšèããŸãã
ã³ã¡ã³ãã®å¯Ÿå¿åªå 床ãèšãã
ã¬ãã¥ãŒã§ã¯é倧ãªãã°ãçºèŠããããšããããŸãããäºçްãªã€ã³ãã³ããã¹ãèŠã€ããããšããããŸããããããå šãŠååã«æ±ã£ãŠããŸããšãã©ãã倧äºãªã®ãåãããªããªã£ãŠããŸããŸããåã³ã¡ã³ãã«ã¯ä»¥äžã®ãããªã©ããªã³ã°ããã倿Žãããªããšã¬ãã¥ãŒãéããªãïŒå¯Ÿå¿å¿ é ïŒãã倿Žãªãã§ãã¬ãã¥ãŒãéãïŒä»»æïŒããèšããšè¯ãã§ãããã
- mustïŒå¿ ã倿Žãã¹ãç¹
- imoïŒèªåã®æèŠãææ¡ïŒin my opinionïŒ
- nitsïŒäºçŽ°ãªææïŒnitpickãéç®±ã®é ãã€ã€ãã®æïŒ
ã¬ãã«ã®é«ãçžæã«å¯ŸããŠã¯ãèªåã®çè§£ã®ããã«è³ªåããã
çžæã®æè¡ã¬ãã«ãé«ãã£ããã¬ãã¥ã¯ãŒã®çµéšãæµ ãå Žåãã¬ãã¥ãŒã¯é£ãããšæããããããããŸããããã®ãããªå Žåãã¬ãã¥ã¯ãŒã¯ç©æ¥µçã«è³ªåãããã®ãè¯ãã§ãããã ã¬ãã¥ã¯ãŒãåãããªããšããããšã¯ã¡ã³ããã³ã¹ãé£ãããšããããšã§ããã³ãŒãèªäœã«åé¡ããªãå Žåã§ããé£ãããšæããç®æã«ã¯è³ªåãããŠçè§£ãæ·±ããããã«ããŸãããã質åãéããèªèº«ãæé·ããããšãããŒã ãžã®è²¢ç®æ¹æ³ã®äžã€ã§ãã
ã¬ãã¥ãŒã¯å šãŠãåãå ¥ããªããŠããã
ã¬ãã¥ãŒãåããåŸã¯ã³ãŒãã«åæ ãããŠãããŸããæ¹åã§ããç¹ã¯ãã¡ããåæ ãããã¹ãã§ãããå šãŠãåãå ¥ããªããŠãæ§ããŸãããã¬ãã¥ã¯ãŒãåžžã«æ£ããããã§ã¯ãªãã§ãããææ¥ãè¿«ã£ãŠããå Žåã¯äžéšã®å¯èªæ§ãç ç²ã«ããããšãå¿ èŠãªå Žåãããã§ãããã
è°è«ãããã«å šãŠã®ã¬ãã¥ãŒãç²ç®çã«åãå ¥ããããšã°ããããã³ãŒãã®æ¹åè¡åã§ã¯ãããŸããã客芳çãªäºå®ã«åºã¥ããŠãäºãã«æèŠãåºãããšã§åŠã³ãæ·±ãŸããè¯ãææç©ãçãã ãã§ãªãã¹ãã«ã¢ããã«ãã€ãªãã£ãŠããã¯ãã§ãã
ãããã«
ã³ãŒãã¬ãã¥ãŒã¯ãšã³ãžãã¢ãæ¯æ¥ã®ããã«è¡ããã®ã§ãããã³ãã¥ãã±ãŒã·ã§ã³ã®å€ããå ããå ŽåããããŸããPull Requestãåºãæã»ã¬ãã¥ãŒãããæããããã§å·¥å€«ãæ°é£ããããããšã§ãå¹çè¯ãé²ããŠã³ãŒãã®å質ãåäžãããããŒã ã¯ãŒã¯ãé«ããŠãããŸãããã
åè
ãã¢ããã°ã©ãã³ã°ãè¡ãã°ãå®è£ ãšã³ãŒãã¬ãã¥ãŒãåæã«é²ããããŸãã1ã€ã®ç»é¢ãèŠãªããçžè«ããŠé²ããããšã«ãããååããŠèª²é¡ã解決ããéææããããæ¥œããåãçµããŸããç§ã¯éçºã®äžéšã®ã¿ã§æ¡çšããŠããŸãããããããã¯ãã£ãšç©æ¥µçã«åãå ¥ããŠãããããšèããŠããŸãã
ãŸãããã¢ãããå€ã人æ°ã§è¡ãã¢ãããã°ã©ãã³ã°ã«ã€ããŠã話é¡ã«ãªãããšãå€ããªã£ãŠããŸãããããŒã ã§éãŸã£ãŠéçºããããšã§ã³ãã¥ãã±ãŒã·ã§ã³ã³ã¹ããäžããã¡ãªããããããŸãã
察é¢ã§ã®ã³ãã¥ãã±ãŒã·ã§ã³ã¯ããŒã«ã䜿ãå Žåããã容æãªã®ã§ããã¢ãããã¢ããããæŽ»çšããã°ãæ¬çš¿ã§æããããã¹ãããŒã¹ã®ã³ãã¥ãã±ãŒã·ã§ã³ãåæãšãã課é¡ã¯èµ·ãã«ãããããããŸããã
èè ãããã£ãŒã«
æ± ç° æïŒããã ã»ãã ãïŒ@jun_ikd
ç·šéïŒèäºåæ¥ïŒZINEïŒ




