åï¼ï¼ãããããã®åï¼ï¼ããªã¼ãã³ã½ã¼ã¹ã«åå ãããã
You (yes, you!) should contribute to open source - The Changelog - Open Source moves fast. Keep up.ã®ç¿»è¨³è¨äºã§ããåæã«ç¿»è¨³ãã¦ã¾ã*1ã翻訳ã«ééãã»ã¢ããã¤ã¹ããã°ã³ã¡ã³ãé ããã¨å¬ããã§ãã
åããã®ããã°ãèªãã§ãã£ã¦ãã¨ã¯ããªã¼ãã³ã½ã¼ã¹ã«é¢å¿ãããã£ã¦ãã¨ã ãããã§ããããåãã¾ã ãªã¼ãã³ã½ã¼ã¹ã®ããã¸ã§ã¯ãã«åå ãããã¨ãç¡ãã®ã ã¨ãããããã£ã¨ããã«å¯¾ãã¦ãæ·å± ãé«ããã£ã¦æãã¦ããã ãããã以ååã¯ãRuby 1.9.3 Documentation Challenge ã«ã¤ã³ã¹ãã¤ã¢ããã¦èªåã®ããã°ã«ãRubyã«ããã¥ã¡ã³ããå¯ä¸ããæ¹æ³ããªãã¦è¨äºããã¹ããããã¨ããããããã¨ãããã«å¯¾ãã¦ãããã¤ããããªæãã®åå¿ãããã£ãããããã ã
@steveklabnik ãããããããããããã£ã¨åãååãããã¨ãã§ãããããããªæ©ä¼ãä¸ãã¦ããã¦ãããã¨ãï¼
ãã®ãã¨ãããåã¯åãå©ç¨ãã¦ãããã®ãªã¼ãã³ã½ã¼ã¹ã®ããã¸ã§ã¯ãã«é¢ãã£ã¦ããã¹ãã ã¨ç¢ºä¿¡ãããã ãå ¨ã¦ã®ããã¸ã§ã¯ãã¯äººæãå¿ è¦ã¨ãã¦ãããå°ããªããã¸ã§ã¯ãã§ã¯ç¹ã«ã ã
ææ°ã¥ããã¨ã«ã¤ãã¦
ãããåããã¾ã æºåãåºæ¥ã¦ããªããã¨ããçç±ã§ã¾ã ãªã¼ãã³ã½ã¼ã¹ã«åå ãã¦ããªããªããæãããã¨ã¯ç¡ãã! ãè¨ãã®ã¯ç°¡åãã£ã¦ï¼ã¾ããããã¯ããã ãã©ãæ¬å½ã«åã®æºåã¯æ´ã£ã¦ããã ãåã®åéããåããªã¼ãã³ã½ã¼ã¹ã«åå ããªãçç±ãã¨ããããã°è¨äºããã¹ããã¦ãããä»ã®å¤ãã®äººãã¡ãåããããªæè¦ãªãã ãããªã¨æããGreg Brown ã¯ãããªå½¼ã®å¿é ãã¨ã«ã¤ãã¦ããã¤ãçããåºãã¦ããããåã話ãããã¨ã®ãã人ãã¡ã¯ããããªï¼ã¤ã®çç±ãæãã¦ãã*2ï¼
- é£ãããã
- èªåã®ã¹ãã«ãã¾ã ååãããªã
- ãããªæéããªã
ããããããæå¾ã®ã¤ãããä¸ã¤ã¥ã¤è¦ã¦ããããããããããããåã¯ã¨ã¦ãå¿ãã人çãéã£ã¦ãããåã¯åå人ã®ã¹ã±ã¸ã¥ã¼ã«ã¯ææ¡ãã¦ããªããã ãã©ãé±æ«ã«ï¼æéãï¼æéãããã®æéã®ä½è£ã¯ããããããªãï¼ããã ãããã°ååããå¤ãã®ããã¸ã§ã¯ãã¯æ°åãã®å°ããªã³ãããã§æãç«ã£ã¦ããããªã«ã大ããªè²¢ç®ãããå¿ è¦ã¯ãªããã©ããªå°ããªè²¢ç®ã§ãããã¯ä¾¡å¤ããããã¨ãªãã ã
ãããåãåã®ã³ã¼ãã®å質ã«ã¤ãã¦å¿é ãã¦ãããã ã£ããããããåä¸ããããã£ãä¸ã¤ã®æ¹æ³ããããããã¯å®è·µãããã¨ã ããããã¨ãã£ã¿ãéãã¦ããããéãããããåã®ããããå®å ¨ã«æ£ãããã®ãããªãã£ãã¨ãã¯ãGitHubã®ä¸ã§è°è«ãããã¨ã«ãªãã ããããããã£ã¦ã¿ããªå¦ã¶ãã ããã¨ãã°ããã®ãã«ãªã¯ã¨ã¹ããè¦ã¦ã¿ããã Colin ã¯æåãééã£ã URL ã«ãªã³ã¯ããããããéã£ã¦ãã¾ã£ãããã®å¾ wilkie ã¯ããã«å¯¾ãã¦è¨åããColin ã¯ãã®ã³ã¼ããä¿®æ£ãããããã¦ãåã The Changelog ã¸ã®ãã¹ããæ¢ãã¦ããéã«ãã®ã½ã¼ã¹ã¯ãã¼ã¸ãããããããªããã¨ãã¯ãåãå§ãã¦ããããæåºããæã«ãå¤åèµ·ããã ãããã§ãæãããªãã¦ããããï¼ãããã£ã¦ãã¿ããªãäºãã«å¦ã³åã£ã¦æ¥ããã ããã
ãé£ãããããã£ã¦è¨ãã®ã¯ã大æµãèªåã®ã¹ãã«ãã¾ã ååãããªããããæ¥ã¦ãããã ãããã ãã©ãããããããã¯ãåãããããã®ã«ã¼ã«ã§ç¸ããã大ããªããã¸ã§ã¯ãã«åå ãããã¨ãã¦ããããããªãããªã大ããªããã¸ã§ã¯ãã§ã¯ããããã®è²¢ç®è ã管çããããã決ããããæç¶ããå¿ è¦ã ãã³ã³ããªãã¥ã¼ã·ã§ã³ã»ã¬ã¤ãã©ã¤ã³ãã³ã¼ãã«ãã¬ãã¸ãAUTHEORSã¨CHANGELOGãã¡ã¤ã«ã®æ´æ°ã¨ã... ã ãã©ããããæã«æ°å ¥ãã«ã¨ã£ã¦éå£ã¨ãªã£ã¦ãã¾ããã ããããããã®æç¶ããåãä¸å®ã«ããã¦ãããã ã£ãããææ¡ããããå°ããªäºããå§ãããï¼å°ããªããã¸ã§ã¯ãã¯å¤§æµãããªããã©ãããæç¶ãã¨ãå¿ è¦ã¨ãã¦ãªãããããã«ã誰ããã¨ã¦ãæ°åè¯ããã¦ãããã¨ãããã¨ãä½æã§ãããèãã¦ã¿ã¦ãPython ã¯æ¥ã ãã£ãããã®ããããåãåã£ã¦ããã§ããããåãå°ããªãã¼ã«ãæ¸ã㦠GitHub ã«ä¸ããã¨ãã¦ãããã¦ãããæ¥çªç¶ã¡ã¼ã«ãåãåããã ããããã誰ããåã®ããããããæ¸ããããã£ã¦ããããã¯ã¨ã£ã¦ãæ°åã®ããäºã ã£ã¦æè¨ã§ãããã
åºæ¬ã®ããã
GitHubã§ãªã¼ãã³ã½ã¼ã¹ããã¸ã§ã¯ãã«åå ããã¨ããå¤ãã®ããã¸ã§ã¯ããåãå ¥ãã¦ããã¨ã¦ãåºæ¬çãªã¯ã¼ã¯ããã¼ããããã ãããã¯ãã®ï¼ã¤ã¹ãããï¼ãã©ã¼ã¯ï¼forkï¼ï¼ã³ãããï¼commitï¼ï¼ãã«ãªã¯ã¨ã¹ãï¼pull requestï¼ã ã
GitHubã§ã®ãã©ã¼ã¯ã¯ã¨ã¦ãç°¡åãã©ããã®ããã¸ã§ã¯ããã¼ã¸ã«ããããã©ã¼ã¯ããã¿ã³ãã¯ãªãã¯ããã ãããããããããã« Ruby ã§ãã£ã¦ã¿ããã ããã¸ã§ã¯ãã®ãã¼ã¸ã¯ããã ããããã©ã¼ã¯ããã¿ã³ãå³ä¸ã«è¦ããããããããªæãã§ï¼
ãããã¯ãªãã¯ããã¨ã"hardcore forking action" ã¨ããªãã¨ãã¡ãã»ã¼ã¸ã表示ãããã ããããããããã©ã¼ã¯å®äºããããã¯åã ãã®ãã©ã¼ã¯çããã¸ã§ã¯ãã§ãåã® GitHub ã®ãã¼ã¸ã«ã«ç¾ããã¯ãã ãããã¨ãã°ãããã«åããã©ã¼ã¯ãã Ruby ãããããã®ãã¼ã¸ã«ãã URL ã§ä»¥ä¸ã®ããã«ã¯ãã¼ã³ãä½ããã¨ãã§ãããã*3
$ git clone [email protected]:steveklabnik/ruby.git
ãããå®è¡ããã¨'ruby'ã£ã¦ãã£ã¬ã¯ããªãä½ããã¦å ¨ã¦ã®ã³ã¼ããããã«æ ¼ç´ãããã次ã«ãæ¬å®¶ãªãã¸ããªã®å¤æ´ã追ã£ãããããã®ãªã¢ã¼ã追跡ãã©ã³ãããä½ããã
$ cd ruby $ git remote add upstream https://github.com/ruby/ruby.git $ git fetch upstream
ããã§ããã¤ã§ã rebase 㧠Ruby æ¬å®¶ãªãã¸ããªã®å¤æ´ãåãè¾¼ããã¨ãå¯è½ã«ãªã£ããã
$ git rebase upstream/master
ã³ã³ã§ã¡ãã£ã¨ãã注æï¼ruby ã¯ã¾ã svn 㨠git ã®ä¸¡æ¹ã使ã£ã¦ãããã®ãããmaster ãã©ã³ãã®ãã¨ãtrunk ã¨åä»ãã¦ãããããåã ruby ã®ãªãã¸ããªã«å¯¾ãã¦ããã¨åããã¨ããã¨ãã«ã¯ã git rebase upstream/trunk ã¨ããªãã¡ããããªãã
ããã§ã¯ãã¼ã³ãã§ããã®ã§ãåã¯åã®ä½æ¥ããããã¨ãã§ããããã«ãªã£ããå㯠æ©è½ãã©ã³ã*4 ã§ä½æ¥ããã®ã好ã¿ã ãããã¯ãã¤ã¹ã§ã¯ãªã¼ã³ã ãï¼ã¤ã®ãã£ã¼ãã£ã¼ï¼æ©è½ï¼ã並è¡ãã¦é²ãããã¨ãã§ããããã
$ git checkout -b feature/super-cool-feature $ vim something $ git add something $ git commit -m "Fixed something in something"
ãããåã®åé¡ã解決ããã³ããããã§ãããããããã GitHub ã«ããã·ã¥ãããï¼
$ git push origin feature/super-cool-feature
ããã¦ãããã«ãªã¯ã¨ã¹ãããã¿ã³ãã¯ãªãã¯ãããï¼
åã®ãã©ã³ããé¸æãã説æã®å 容ãåãæ¸ãããããã«å¤æ´ãããæºåOKãããã¸ã§ã¯ãã®ã¡ã³ããã¯ããã«ç®ãéãã ãããããã¦ãããããããè°è«ããã£ã¦ããã§çµããããããããªããããããã¾åãå ¥ãã¦ããããããããªãã
ã©ã®ããã¸ã§ã¯ãã«åå ãã¹ããï¼
ããã¸ã§ã¯ãã«åå ããã¨ãã«ä¸çªè¯ãã®ã¯ãåãæ®æ®µä½¿ã£ã¦ããããã¸ã§ã¯ãã«åå ããäºã ããããããã»ãããåãåèªèº«ã®åªåã®ææã享åãããã¨ãã§ãããããã«ããã®ããã¸ã§ã¯ãã«ã¤ãã¦ããç¥ã£ã¦ãããã¨ãã¢ããã¼ã·ã§ã³ã«ãç¹ãããããã£ã¨æ¥½ãªã¯ãã ã
ãããæ®æ®µåãå©ç¨ãã¦ããããã¸ã§ã¯ããã©ããªã£ã¦ããè¯ãç¥ããªããã¾ãã¯ç¥ããããªããã¨ãããªãã次ã®é¸æè¢ã¯ãæ°ããã½ããã¦ã§ã¢ãæ¢ããã¨ã ï¼ The Changelogï¼è¨³æ³¨ï¼ãã®ãµã¤ãã®ãã¨ï¼ ãé次ãã§ãã¯ãã¦é¢ç½ãããªããã¸ã§ã¯ããè¦ã¤ããããããã¦ï¼ãï¼é±éããã使ã£ã¦ã¿ã¦ãããããåå ãããã©ãã決ããããããã
åãã¯ä¸ç·ã
ãã®è¨äºãåãåæ°ã¥ãã奮ãç«ãããå©ãã«ãªã£ãããããªãã¨æã£ã¦ãããã©ããªå°ããªãããã§ã価å¤ãããã®ã§ããã²ãã¹ã±ã¸ã¥ã¼ã«ã«ç©ºãããã£ããããã¸ã§ã¯ããé¸ãã§ã©ããªå°ããªãã¨ã§ãããããè²¢ç®ãã¦ã¿ã¦ããæ°ãä»ãã¤ã¨å¤¢ä¸ã«ãªã£ã¦ããããã
*1:ãããã«å ¬éãããã¨æ¬äººã«é£çµ¡ãã¦ã¿ãã¤ããããªããæå¥è¨ããããï¼ãã¶ãè¨ããªãã¨æããã©ï¼å ¬éä¸æ¢ããã¤ãã
*2:訳注ï¼åæã§ã¯"two basic reasons"ã¨ãªã£ã¦ãã®ã¯ééãï¼
*3:訳注ï¼èªåã®ãã¼ã¸ã«è¡¨ç¤ºãããURLã«èªã¿æ¿ãã¦ã
*4:訳注ï¼ãããã¯ã»ãã©ã³ãã¨ãå¼ãã ããããï¼ã¤ã®ãã¼ãã«ã¤ãã¦ï¼ã¤ã®ãã©ã³ããåã£ã¦ä½æ¥ãããããã