Github ã使ã£ã¦éèªåç¨¿ãæ¸ã
仿¥ã¯ãã®ã㨠Github ã® Tokyo Drinkup January 2014 ã«è¡ãã®ã ããå æ¹ããããããããã 10åã»ã© Github ã«ã¤ãã¦è©±ãã¦ããããããã¨æè¨ºãããã話ãã話ããªããããããªããããã話ãã¨ãããã¨ä»®å®ãå å®¹ã®æ´çãå ¼ãã¦ä»¥ä¸ãGithub ã使ã£ã¦éèªåç¨¿ãæ¸ããã¨ãããã¨ã«ã¤ãã¦æ¸ãã¦ã¿ããã¨æãã
ãGithub ã使ã£ã¦éèªåç¨¿ãæ¸ãããããã¯ãGithub ã使ã£ãéèªç·¨éè ã¨ã®ã³ã©ãã¬ã¼ã·ã§ã³ãã«ã¤ãã¦ãã§ããã
Web+DB PRESS ã®é£è¼
ãåç¥ã®æ¹ããããããããªããããã®ã¨ããæè¡è©è«ç¤¾ã® Web+DB PRESS ã§é£è¼ããã¦ãããé£è¼ãå§ãã¦ãããä¸å¹´è¿ãçµã£ãã以åã«ã Perl ã«é¢ããé£è¼ããã¦ãã¦ããã®ã¨ããæ°å¹´ãããç¶ããã®ã§ãéãããã¤ã¤ãããªãã ããã ã§ãããããã®ä»ãåãã«ãªãã
æè¿ã¯ç¹ã«ãã¼ãã¯æ±ºããã«ãéæãã¨ã«ããã®ã¨ãæ¬ãªç©ãããã¯èªåãå¼·ãèå³ããã£ã¦ãããã¨ã«ã¤ãã¦æ¸ãã¦ãããRubyMotion ã®è©±ãæ¸ãããã¨æãã°ãserverspec ã®è©±ãæ¸ãããã¨ããããªæããããè¯ãã£ããèªãã§ã¿ã¦ä¸ããã宣ä¼çµããã
Github 以å
æ°å¹´åã®å½æãã¾ã Github ãä¸ã®ä¸ã«ãªãªã¼ã¹ãããããããªããããã®é ã®éèªå稿ã®ããã¨ãã¯åºæ¬ã¡ã¼ã«ã ã£ããé£è¼ãåããè¿ã¥ãã¦ããã¨ãç·¨éè ããããããããããããã§ãããçãªã¡ã¼ã«ããã¦ããã¨ã¯ãã®ã¡ã¼ã«ããã³ãã³ããªããããã¨ãããããå稿ãé©å½ãªãã©ã¼ããã (彿ã¯ã¯ã¦ãªè¨æ³)ã§æ¸ãã¦ãã¡ã¼ã«ã«æ·»ä»ãã¦éãã
ãã°ããå¾ ã£ã¦ããã¨ãå稿ã PDF ã«ãªããªãä½ãªããã¦ãããããæ ¡æ£ä½æ¥ãå§ã¾ããªãã©ãããåãããã¨ããã§å®äºã¨ãªãã
ã¾ããç¹ã«ããã§ä½ãç¹æ®µå°ã£ããã¨ããã£ããã¨ããã¨å®ã¯ãããããã¨ã¯ãªãã£ãã
å½ç¶ãå稿ãã®ãã®ã¯æå ã§ Subversionããã®å¾ Git ã§ãã¼ã¸ã§ã³ç®¡çã¯ãã¦ããããGithub ã使ãããã«ãªã£ãä»ã§ãã³ãã¥ãã±ã¼ã·ã§ã³ã®ãã³ãã³ãç¹°ãè¿ãã¦ããã¨ããã¦ãã£ã¦æ ¡äºã¨ãªã・・・ã¨ããããã¼ãã®ãã®ã¯å¤ãã£ã¦ããªãã
Github 以é
ãã®ã¡ã¼ã«æä»£ã®é ããå稿ã Git ã§ç®¡çãããã¨ã¯ãã¦ããããã©ãããã¯ãã¼ã«ã«ã ãã®è©±ã§ãªã¢ã¼ãã« push ãããã¯ãã¦ããªãã£ãã
ããããä»åã®é£è¼ãéå§ããã«ãããããããã Github ãã³ã¢ãã£ãã£ã«ãªã£ã¦ãããã¨ã ãã¨ãããã¨ã§ãæ å½ã® @inao ããã« github ã« push ããããããã§ã³ãã¥ãã±ã¼ã·ã§ã³ãã¦ã¿ã¾ããããã¨ææ¡ããããã ããã®ã¨ãã¯ç¹ã«æ·±ãçãã¯ãªããã©ããæå ã§ãã¼ã¸ã§ã³ç®¡çãã¦ããã ãããªã¢ã¼ãã«ä¸ããã®ãããã ããã¡ã¼ã«ã«æ·»ä»ããããã¯ãã£ã¡ã®ã»ããå ±æã楽ã¨ããã®ãããããèãã¦ãªãã£ãã
ããããGithub ã使ãå§ãã¦ãã使¥ã®ããæ¹ã«è²ã ã¨ã¢ã¤ãã¢ãåºã¦ãã¦ãä»ã§ã¯å稿㯠Markdown ã§æ¸ãããäºãåºæ¬çã« Pull Request ã§é£ã°ãæ¹æ³ãå®çãããPull Request ã¯ãããããWorking In Progressã㪠WIP Pull Request ã¨ãã¦åºããã¤ã¾ããåç¨¿ãæ¸ãä¸ããã¨ããã§ Pull Reuqest ããã®ã§ã¯ãªãã¦ããããªã Pull Request ãåºãã¦ãã¾ã£ã¦ãã¨ã¯ãã® Pull Request ã«ãå稿ã®é²æã«åããã¦ã³ããããéãã¦ããã
ãã®ããã°ã§åä¸ã«ããã£ã¦ç´¹ä»ãã¦ããããWIP Pull Request ã«ã¤ãã¦ã¯
ãã®ã¹ã©ã¤ããåãããããã¨æãã
Pull Request ã§å稿ãããã¨ããã
以ä¸ããã® WIP Pull Request ã®æ§åãç°¡å㪠TODO ãå ±æããå°ããã¤å稿ã追å ãã¦ãã£ã¦ããæ§åãä¼ããã¨æããç·¨éè ã¯ãnaoyaããå稿æ¸ãã¦ã¾ãã?ãã¨ãã¡ã¼ã«ãéã£ã¦ããªãã¦ããé²æãææ¡ã§ãããéä¸ã§ã¬ãã¥ã¼ãå ãããã¨æãã°ãã¤ã§ãããã¯å¯è½ã ã
å稿ãããã¨ãããããã¼ã§ã¯ãæåã¯èè å´ã«ãã¼ã«ããã£ã¦ãPDFåã®ä½æ¥ãªãããå§ã¾ãã¨ãã¼ã«ã¯ç·¨éå´ã«ç§»ããPDFã確èªããã¿ã¤ãã³ã°ã«ãªãã¨èè å´ã«ãã¼ã«ãç§»ãããã®ç¹°ãè¿ãã§ãããããã¦ãèªå㨠@inao ã¨ã®ããã¨ãã§ã¯ãPull Request ãåºããå´ããã®ãã¼ã«ãæã£ã¦ããã¨ããé¢ä¿ã«ãªã£ã¦ããã
ä¾ãã°ãã¼ã¡ã¼ã¡èè ã®æå ã§ã®å稿ãåºã¾ã£ã¦ãããªï½¥ï½¥ï½¥ã¨ããé ã« @inao ããã® Pull Request ãã¡ã¤ã³ãã©ã³ãã«ãã¼ã¸ããããã¼ã¸ããæ®µéã§ãããåããã«ãã¼ã«ã渡ã£ããªãã¨ããã®ãåããã®ã§ãã¡ãã¯ã¬ãã¥ã¯ã¼å´ã«åãã
以ä¸ã¯ãã®ãç·¨éå´ããé£ã°ãã¦ãã Pull Requestã
ã³ããããã°ã綺éºã«æ´çãã¦ããã¦ããã®ã§ããã¡ãããèªåã®å稿ã«ã©ããªä¿®æ£ãå ¥ã£ããããããããããããçµæ§ typo ç·¨éãã¦ããã¦ããã ãªã¨ããç¨èªçµ±ä¸ã¨ããèªã¿ã¥ããã¨ãããæ ¡æ£ãã¦ããã¦ããã ãªã¨ããä»ã ããè¨ãããã以åã¡ã¼ã«ã§ä½æ¥ãã¦ããã¨ãã¯ãããããç´°ããæã¾ã§ä½æ¥ãã¦ããã£ã¦ããã¨ãããã¨ã«ãã¾ãæ°ã¥ãã¦ããªãã£ãã
Git ããäºãã«ä½¿ã£ã¦ãããã¨ããå©ç¹ãæ´»ããå ´é¢ãçµæ§å¤ãã
ä¾ãã°ç¾å¨ã®å稿ã¯ã¡ãã£ã¨æ¸ãããã¦ãã¾ã£ã¦ãã¼ã¸æ°ããã®å確ä¿ã§ãããæªããã¨ãã話ããã£ã¦å 容ãå°ãåã£ãã®ã ããä»®ã«ãã¼ã¸æ°ã確ä¿ã§ããå ´åã«ã¯å ã«æ»ããã¨ãã話ããã¦ãã¦ãå®é確ä¿ã§ãããã ã£ãã®ã§åé¤ã³ãããèªä½ã revert ãã¦å ã«æ»ãããªãã¦ãã¨ããããã¡ã¼ã«ã§ããã¨ããã¦ããã¨ãã¯ãããããã³ã©ãã¬ã¼ã·ã§ã³ã¯ãªããªãé£ããã£ãã
ãã®ããã«ãGithub + Pull Request ã®å©ç¹ãä¸æãæ´»ããã¦ç·¨éã¨ããã¨ããããã¨ãã§ãã¦ããã
èªåãã¡ã¯ããã¾ã§ãã£ã¦ããªãããç¥äººã®ã¨ã³ã¸ãã¢ã¯ãJenkins ãåã㦠git push ã®åº¦ã« PDF ã®ãã«ãã¨ãç¨èªçµ±ä¸ã¨ãããããã®ãèªååãã¦ãããªãã¦è©±ããã¦ãã¦é¢ç½ãã£ãã
ããã£ããã¨
ã¡ã¼ã«ã§ããã¨ããã¦ããã¨ãã«ããããã¾ã§å°ã£ããã¨ã¯ãªãã£ãããã©ããGithub ã«ãã¦ããã¯ããã¶ãã¨ããããããªã£ãã
Pull Request ã«ãã鲿ã¨ã³ãã¥ãã±ã¼ã·ã§ã³ã®ä¸æ¬å
è²ã ã¨è¯ãã£ãã¨ããã¯ããã®ã ããã©ããã£ããããã¨ããã¯ãäºãã®ä½æ¥ç¶æ³ãè¦ãããã¨ãããã¦ãã®ä½æ¥ç¶æ³ã«ã³ãã¥ãã±ã¼ã·ã§ã³ããã¾ãéç´ããããã¨ã¨ã ã¨æãã
Pull Request ãã¼ã¹ã®éçºããããã¨ããã人ãªããããããã¨æãããPull Request ã¯åã«ããããåãè¾¼ãã§ãããä¾é ¼ãç°¡åã«ãªãã¨ãããã¨ã ãã§ãªãããã® Pull Request ã®ã¹ã¬ããä¸ã§ã³ãã¥ãã±ã¼ã·ã§ã³ãéãããã¨ã§ã使¥é²æã¨ã³ãã¥ãã±ã¼ã·ã§ã³ãä¸ã¤ã«ã¾ã¨ã¾ã£ãå½¢ã§å¯è¦åãããã¨ããããããè¯ãã大è¢è£ã«ããã°ã¯ã¼ã¯ããã¼ã¨ã³ãã¥ãã±ã¼ã·ã§ã³ã®ä¸ä½åãã¨ãè¨ããã
éèªå稿ã®å·ç使¥ã®ã¯ã¼ã¯ããã¼èªä½ã¯ãé¢é£ãã人éã¯2人ãã3人ç¨åº¦ã ãã·ã³ãã«ãªã®ã ããã©ãããã®æã¡ã¼ã«ã§ãã³ãã³ãã¦ããããåããå稿㮠commit ã typo ã®ä¿®æ£ã¨ãã£ãä¸ã¤ä¸ã¤ã®ä½æ¥ã¨é¢é£ã¥ããããå½¢ã§ã¹ã¬ããã«ãªãã®ã¯ã徿¥è¦è¿ããã¨ãã«ãããå®å¿æããããã©ã¡ãã使¥ã®ãã¼ã«ãæã£ã¦ããããæç¢ºã«ãªãããæ°æ¥ããã¦å稿ã®ç¶æ³ã確èªããã«ããã£ã¦ãã©ããªè°è«ã«ãªã£ã¦ãã£ãããªï½¥ï½¥ï½¥ãã¨ããã®ãæãåºãã®ã Pull Request ã®ç¶æ³ãè¦ãã ãã§ã»ã¨ãã©ã¹ãã¬ã¹ãªãæãåºããã¨ãã§ããã
å ã Github ã使ãå§ããå½å㯠Pull Request ã§ã¯ãªããIssue ã§å稿ã®é²æã管çãã¦ããã@inao ããããåãæ¥ã«ãããã¦ãã®æ¥ã¾ã§ã«ã¢ã¦ãã©ã¤ã³ã欲ããã¨ãããããããçµãããã¦ãã ããã¨ãããã®åä½ã§ Issue ãåã£ã¦ãããã§ããå®éã«ã¯åå¥ã® Issue ã«ããã»ã©ããããã®ä½æ¥ã¯ç¬ç«ãã¦ããªãã¦ãåºæ¬å稿æ¸ãã¯é次ã§ç©äºãé²ãã§ããã®ã§ãWIP 㪠Pull Request ã«ä¸æ¬åãã¦ãã®ä¸ã§ããã¨ããã¦ããã»ããé¢åããããªããä¸ã¤åãããããã£ãã
ãããã¦ä½æ¥ãå¯è¦åãããã¹ãã¬ã¹ãªãç¶æ³ãææ¡ãããããªã£ããã¨ã«ãã£ã¦ãèè ã¨ç·¨éè ã®éã§ã®ã¡ãã£ã¨ããè¡ãéãã¿ãããªãã¨ãã ãã¶å°ãªããªã£ããçµæçã«ãããããããªã«èªåã®èª¤åè±åãç·¨éãã¦ããã¦ããã ãªãã¨ãä»ã¾ã§ãã¾ãæ°ã¥ãã¦ããªãã£ã使¥ã«ã¤ãã¦ãèªè¦ãããã¨ãã§ããããã«ãªããããè¯ãä¿¡é ¼é¢ä¿ãç¯ãã«è³ã£ã¦ãã・・・㨠@inao ã¯ç¥ããªããã©ãèªåã¯æã£ã¦ããã
Github ãã½ããã¦ã§ã¢éçºä»¥å¤ã§æ´»ãã¦ããå¯è½æ§
ãããªããã§ãGithub ã¯ã½ããã¦ã§ã¢éçºã®åé以å¤ã«ããã³ã©ãã¬ã¼ã·ã§ã³ãå¿ è¦ãªé åã§è²ã ã¨å¿ç¨ã®å¯è½æ§ãæã£ã¦ãããã¨èªåã¯æã£ã¦ããã
å®éãæ¨å¹´ Github ãè³é調éãããéã«ä»å¾ã¯ãããããªåéã« Github ãåºãã¦ããã¿ãããªè©±ããã¦ããããã«è¨æ¶ãã¦ããã®ã§ãããããå©ç¨ã·ã¼ã³ãããããå¢ãã¦ããã®ã§ã¯ãªããã¨æã£ã¦ãããéèªã®å稿編éã ãã§ãªããèªåã§ãæ°ã¥ãã¦ãªãåéã®å¿ç¨ä¾ãªãããã§ã¦ãããã¨ãã¨ã¦ãæå¾ ãã¦ããã
åé¡ã¯ã@inao ã®ããã« Git 㨠Github ã使ãããªããç·¨éè ãä¸ã®ä¸ã«ã»ã¨ãã©ããªããã¨ããç¹ã§ã¯ãªããã¨ãã話ãããã®ã ãããã«ã¤ãã¦ã¯ä»ã¯èããªãã§ããã¨ãããã