- Scott Chacon on the Interwebs(ãªã³ã¯åã)
- Scott Chacon on the Interwebs
- GitHub Flow - The best way to use Git and GitHub
31 Aug 2011
ç§ã¯äººã ã«Gitãæããããã«ãã¡ãã¡ãé£ã³åã£ãŠããããæè¿ã®ã»ãŒãã¹ãŠã®ã¯ã©ã¹ãã¯ãŒã¯ã·ã§ãã㧠git-flow ã«ã€ããŠã©ãæãããå°ãããããç§ã¯ãã€ããgit-flowã¯çŽ æŽããããšæããšçããŠãããäœçŸäžãã®ã¯ãŒã¯ãããŒãæã£ãã·ã¹ãã ïŒGitïŒãæäŸããããã¥ã¡ã³ãããããããããã¹ããããŠããããã¬ãã·ãã«ãªã¯ãŒã¯ãããŒã¯ãå®ã«å®¹æãªããæ¹ã§å€ãã®éçºè ã®åœ¹ã«ç«ã€ãæšæºçãªãã®ã«ãªãã€ã€ãããéçºè ã¯ãããžã§ã¯ããäŒæ¥ã®éã移åãã€ã€ãã®æšæºçãªã¯ãŒã¯ãããŒã«éŠŽæãããšãã§ããã
ããããªãããããæ
ã®åé¡ãæ±ããŠãããæ°ãããã£ãŒãã£ãŒãã©ã³ãã master
ã§ã¯ãªã develop
ããéå§ãããšããhotfixesãæ±ãæ¹æ³ãšãã£ãããšã奜ãŸãªããããªäººãã¡ããå€ãã®æèŠãèãã
ç§ãèãã倧ããªåé¡ã®ã²ãšã€ã¯ãããããã»ãšãã©ã®éçºè ãéçºããŒã ãå®éã«å¿ èŠãšãããããè€éãããããªããããšããããšã ããããŒã®éè¡ãæ¯æŽããããã«éçºããã巚倧㪠ãã«ããŒã¹ã¯ãªãã ã§ãããããŸãã«è€éãããã
ã¯ãŒã«ãããããªãããGitã®GUIããŒã«ã«ã¯åŒ·å¶ããããšãã§ãããã³ãã³ãã©ã€ã³ã§ãã䜿ããªããšããåé¡ãããããã¹ãŠã®æé ãæåã§è¡ãå¿ èŠãããããã®ããã®è€éãªã¯ãŒã¯ãããŒããã£ãããšåŠã°ãªããã°ãªããªã人ãã¡ããã³ãã³ãã©ã€ã³ã§ã®äœæ¥ã«äžæ £ããªäººãã¡ãšã€ã³ãŒã«ã§ããããããã¯å€§ããªåé¡ç¹ã ã
ãããã®åé¡ç¹ã¯ãæé ããã£ãšã·ã³ãã«ã«ããã ãã§å®¹æã«è§£æ±ºã§ãããGitHubã§ã¯ãgit-flowã䜿ã£ãŠããªããç§ãã¡ã䜿ãæé ããã€ã䜿ã£ãŠããæé ã¯ãšãŠãã·ã³ãã«ãªGitã¯ãŒã¯ãããŒã ã
ãã®ã·ã³ãã«ãã«ã¯å€ãã®ã¡ãªããããããã²ãšã€ã¯ãç°¡åã«ç解ã§ãããšããããšãããçŽ æ©ãäœæ¥ãã§ããäœããå°ç¡ãã«ããŠããŸããšãééã£ãŠããŸã£ãæé ãããçŽããšãã£ãããšããã£ãã«èµ·ãããªããä»ã«ããããã»ã¹ãæ¯æŽããããã®ã©ãããŒã¹ã¯ãªãããå¿ èŠãªããããGUIããã°ã©ã ãåé¡ãªã䜿ãããšããã¡ãªãããããã
ããŠããªãGitHubã§ã¯git-flowã䜿ããªãã®ã ãããïŒ ç§ãã¡ãåžžã«ãããã€ãããããããšããã®ãäž»ãªçç±ã§ã¯ããã git-flowã®ããã»ã¹ã¯äž»ãšããŠããªãªãŒã¹ããäžå¿ã«èšèšãããŠããã ç§ãã¡ã¯ãããã¯ã·ã§ã³ç°å¢ãžã®ãããã€ãæ¯æ¥ïŒãããŠãã¯æ¥ã«äœåãïŒè¡ããããããªãªãŒã¹ããšãããã®ããªãã ç§ãã¡ã¯ãã£ããã«ãŒã å ã®ãããããéããŠãããã€ãããããšãã§ããããã«ã¯CIã®çµæã衚瀺ãããã ç§ãã¡ã¯ãã¹ããšãããã€ã®æé ãå¯èœãªéãã·ã³ãã«ã«ããããã«ããŠããããããããã¹ãŠã®åŸæ¥å¡ãå®å¿ããŠè¡ãããšãã§ããã
å®æçã«ãããã€ãè¡ãããšã«ã¯ããã€ãã®å©ç¹ãããã æ°æéæ¯ã«ãããã€ãããã°ã倧ããªãã°ãæ²¢å±±å ¥ããããªããšã¯ã»ãŒããããªãã å°ããªãã°ãå ¥ãããšã¯ããã ãããããããã£ããã®ã¯çŽ æ©ãä¿®æ£ããŠåãããã€ããããšãã§ããã æ¬æ¥ãªããhotfixããã©ã³ããæ®æ®µã®æé ãšã¯éã圢ã§ä¿®æ£ãè¡ãããšããã ããããç§ãã¡ã®å Žåã¯ãããéåžžã®ããã»ã¹ã®äžè²«ã§ãããªããGitHubã®ããæ¹ã§ã¯ãhotfixãšå°ããªæ©èœè¿œå ãšã«éãã¯ãŸã£ãããªãã
åå æäžãããã€ããããšã®ããã²ãšã€ã®å©ç¹ã¯ãããããçš®é¡ã®åé¡ãè¿ éã«è§£æ±ºããããšãå¯èœã«ãªãç¹ã ã ç§ãã¡ã¯ãã»ãã¥ãªãã£äžã®åé¡ããå°ããããã©ãéèŠãªæ©èœã®èŠæã«ãšãŠãè¿ éã«å¯Ÿå¿ããããšãã§ããã ãããŠããããã®å€æŽã«å¯ŸåŠããéã¯ãæ®æ®µã®éçºã倧ããªæ©èœã®éçºãããéã«äœ¿ãã®ãšãŸã£ããåãããã»ã¹ã䜿ãããšãã§ããã
ãã¹ãŠãåãããã»ã¹ã§ããããã¹ãŠããšãŠãã·ã³ãã«ã ã
GitHub Flowãšã¯äœã ãããïŒ
master
ãã©ã³ãã®ãã®ã¯äœã§ãããããã€å¯èœã§ãã- æ°ããäœãã«åãçµãéã¯ã説æçãªååã®ãã©ã³ããmasterããäœæããïŒäŸ:
new-oauth2-scopes
ïŒ - äœæãããã©ã³ãã«ããŒã«ã«ã§ã³ããããããµãŒããŒäžã®åãååã®ãã©ã³ãã«ãå®æçã«äœæ¥å 容ãpushãã
- ãã£ãŒãããã¯ãå©èšã欲ããæããã©ã³ããããŒãžããŠããããšæã£ããšãã¯ã ãã«ãªã¯ãšã¹ã ãäœæãã
- ä»ã®èª°ããã¬ãã¥ãŒãããŠæ©èœã«OKãåºããŠãããããããªãã¯ã³ãŒãã
master
ãžããŒãžããããšãã§ãã - ããŒãžãããŠ
master
ãžpushããããçŽã¡ã«ãããã€ããã
ããããããŒã®ãã¹ãŠã ã ãšãŠãã·ã³ãã«ãã€å¹ççã§ãããªã倧ããªããŒã ã§ãæ©èœãããçŸåšGitHubã¯35人ã§ããã®ãã¡ã®çŽ15ã20人ãäžåºŠã«åããããžã§ã¯ãïŒgithub.comïŒã§äœæ¥ããŠããïŒèš³æ³šïŒæ°åã¯2011幎8ææç¹ã®ãã®ïŒã ã»ãšãã©ã®éçºããŒã ïŒåææã«åãã³ãŒãã§äœæ¥ãããã³ã³ããªã¯ããçºçãããå¯èœæ§ã®ããéå£ïŒã¯ããããããããã£ãšå°ãããšæãã ãšããããè¿ éã«äžè²«ãããããã€ãè¡ãªããããªé²æ©çãªããŒã ãªãã
ã§ã¯ãåã¹ããããé ã«èŠãŠè¡ããã
ãããããããããã®ã·ã¹ãã ã«ããããã£ãäžã€ã®å³æ Œãª ã«ãŒã« ã§ããã
æ確ã«äžè²«ããç®çããã€å¯äžã®ãã©ã³ããããããããmaster
ãšåŒã¶ã
ããã¯ããã®ãã©ã³ããæ¢ã«ãããã€ãããŠãããããŸãã¯ææªã®å Žåã§ãæ°æé以å
ã«ã¯ãããã€ãããããšããããšãæå³ããã
ãã©ã³ããå·»ãæ»ãããïŒäœæ¥å
容ãåãæ¶ãããã«ãã©ã³ããå€ãã³ããããæãããã«ããïŒããšã¯éåžžã«çšã§ãã â ããåé¡ãèµ·ããããã³ãããã¯åãæ¶ããããïŒrevertedïŒãåé¡ãä¿®æ£ããæ°ããã³ããããè¡ããããããã©ã³ãèªèº«ãããŒã«ããã¯ããããšã¯ã»ãšãã©ãªãã
master
ãã©ã³ãã¯å®å®ããŠãããåžžã«ãããåžžã«ãããã€å¯èœãã€ããããæ°ãããã©ã³ããäœæã§ããç¶æ
ã«ãªã£ãŠããã
ãã¹ããããŠããªãã£ããããã«ããç Žå£ãããããªã³ãŒããmaster
ã«pushããå Žåã«ã¯ãéçºããŒã éã«ããããœãŒã·ã£ã«ãªåã決ããç Žãããšã«ãªããã¡ãã£ãšæ°ãŸããæããããããšã«ãªãã
æã
ãpushãããã¹ãŠã®ãã©ã³ãã§ã¯ãã¹ããå®è¡ããããã®çµæããã£ããã«ãŒã ã«å ±åãããããããã¹ããæå
ã§å®è¡ããŠããªãå Žåã«ã¯ããµãŒããŒäžã®ãããã¯ãã©ã³ãïŒãããŠãã¯1ã€ã®ã³ãããã ãã®ãã©ã³ãïŒã«pushããŠã Jenkins ããã®çµæãæããŠãããã®ãåŸ
ã€ããšãã§ããã
ãããã€ãè¡ã£ãæã ãæŽæ°ããã deployed
ãã©ã³ããçšæããããšãã§ããããæã
ã¯ãã®ãããªããšã¯ããªãã
æã
ã¯ãçŸåšãããã€ãããŠããSHAïŒããã·ã¥ïŒãWebã¢ããªçµç±ã§å
¬éããããã«ããæ¯èŒãå¿
èŠãªå Žåã¯ãããåã« curl
ããã ãã«ããŠããã
äœãäœæ¥ãå§ãããæã¯ãå®å®ããmaster
ãã©ã³ããã説æçãªååã®ãã©ã³ããäœæããã
GitHubã®ä»ã®ã³ãŒãã§ã¯ãuser-content-cache-key
ãsubmodules-init-task
ãredis2-transition
ãšãã£ãæãã ã
ãã®ããæ¹ã«ã¯ããã€ãå©ç¹ãããã
fetchãããšä»ã®çãçŸåšäœæ¥ããŠãããããã¯ãç¥ãããšãã§ããããšããã®ã1ã€ã
ãã°ããã®éãã©ã³ããæŸã£ãŠãããŠåŸãããã®äœæ¥ã«æ»ã£ãæã«ãäœãããŠãããããã«æãåºãããšããå©ç¹ãããã
GitHubã®ãã©ã³ããªã¹ãããŒãžã§ã¯ãæè¿ã©ããªãã©ã³ãã§äœæ¥ããããŠããã®ããã©ããããã®äœæ¥ãããŠããã®ãã倧ãŸãã«ç¥ãããšãã§ããã®ã§ããã®ç¹ã§ãçŽ æŽãããã
ããã¯ãããããå®è£ ãããæ©èœã®äžèŠ§ã«ãããŸããªçŸåšã®ç¶æ³ãä»ããŠãããããªãã®ã ããã®ããŒãžã¯ãšãŠãçŽ æŽããã â çŸåšéžæããŠãããã©ã³ããšæ¯èŒããŠãããããã®ãã©ã³ããã©ã®ãããªåºæã®äœæ¥å 容ãå«ãã§ãããã ãã衚瀺ãããæãæè¿äœæ¥ããããã®ãäžçªäžã«æ¥ããèå³ãæ¹ãããã°ãCompareãã¿ã³ãã¯ãªãã¯ããŠå®éã®å·®åãèŠããããã®ãã©ã³ãåºæã®ã³ãããäžèŠ§ãèŠãããšãã§ããã
ãã®æç« ãæžããŠããæç¹ã§ã¯ãæã ã®ãªããžããªã«ã¯ãŸã ããŒãžãããŠããªãäœæ¥ãå«ã44ã®ãã©ã³ããããããã®ãã¡å é±pushããããã®ã9åãã10åã»ã©ããããšããããã
git-flowãšã®å€§ããªéãã®ã²ãšã€ããååãä»ãããã©ã³ããå®æçã«ãµãŒããŒã«pushãããšããç¹ã ãæã
ããããã€ã®èŠ³ç¹ã§æ¬åœã«æ°ã«ããŠãããã®ã¯master
ã ããªã®ã§ããµãŒããŒãžpushããããšã誰ãã®æãç
©ãããããæ··ä¹±ãåŒãèµ·ããããããããšã¯ãªã â master
以å€ã®ãã®ã¯ãã¹ãŠãåã«äœæ¥äžã®äœãã ãšããããšã«éããªãã
ããã«ãã£ãŠãããŒãããœã³ã³ãçŽå€±ãããããŒããã£ã¹ã¯ãæ éããå Žåã§ãäœæ¥å 容ãåžžã«ããã¯ã¢ãããããŠããããšã確å®ãšãªããããéèŠãªããšãšããŠãçãå®æçã«ã³ãã¥ãã±ãŒã·ã§ã³ããšãããã«ãªããåãªã 'git fetch' ããçãäœæ¥ããŠããããšã«ã€ããŠã®TODOãªã¹ããäžããŠãããã
$ git fetch
remote: Counting objects: 3032, done.
remote: Compressing objects: 100% (947/947), done.
remote: Total 2672 (delta 1993), reused 2328 (delta 1689)
Receiving objects: 100% (2672/2672), 16.45 MiB | 1.04 MiB/s, done.
Resolving deltas: 100% (1993/1993), completed with 213 local objects.
From github.com:github/github
* [new branch] charlock-linguist -> origin/charlock-linguist
* [new branch] enterprise-non-config -> origin/enterprise-non-config
* [new branch] fi-signup -> origin/fi-signup
2647a42..4d6d2c2 git-http-server -> origin/git-http-server
* [new branch] knyle-style-commits -> origin/knyle-style-commits
157d2b0..d33e00d master -> origin/master
* [new branch] menu-behavior-act-i -> origin/menu-behavior-act-i
ea1c5e2..dfd315a no-inline-js-config -> origin/no-inline-js-config
* [new branch] svg-tests -> origin/svg-tests
87bb870..9da23f3 view-modes -> origin/view-modes
* [new branch] wild-renaming -> origin/wild-renaming
ããã«ããã«ãã£ãŠãä»ã®çãäœãããŠããã®ããç¥ã£ãããå©ããå¿ èŠãšããŠããªããã確èªããããã«GitHubã®ãã©ã³ããªã¹ãããŒãžãèŠããããå šå¡ãåãããšã«ãç¹ããã
GitHubã«ã¯ãæ®å¿µã ãååãªäººã ã«ã¯ç¥ãããŠããªã ãã«ãªã¯ãšã¹ã ãšåŒã°ããçŽ æŽãããã³ãŒãã¬ãã¥ãŒã®ä»çµã¿ããããå€ãã®äººã ã¯ãªãŒãã³ãœãŒã¹ã§ã®æŽ»å â ãããžã§ã¯ãããã©ãŒã¯ããããããžã§ã¯ããæŽæ°ãããã¡ã³ãããŒã«ãã«ãªã¯ãšã¹ããéã â ã«ããã䜿ã£ãŠããããããããã«ãªã¯ãšã¹ãã¯å éšã³ãŒãã¬ãã¥ãŒã®ä»çµã¿ãšããŠç°¡åã«å©çšããããšãã§ããŠãæã ã¯ããããŠããã
å®éãæã ã¯ãã«ãªã¯ãšã¹ãããããã©ã³ãã§ã®äŒè©±ãã¥ãŒãšããŠãã£ãšPull Requestsã䜿ã£ãŠãããGitHubäžã®1ã€ã®ãããžã§ã¯ã(ãããªãã¯ãŸãã¯ãã©ã€ããŒã)ã«ãããŠããããã©ã³ãããä»ã®ãã©ã³ããžãã«ãªã¯ãšã¹ããéãããšãã§ããã®ã§ãããããããŒãžããŠã»ãããã«å ããŠãããã«å©ããã¬ãã¥ãŒãå¿ èŠãšããŠãããã ããšèšãã®ã«ãã«ãªã¯ãšã¹ãã䜿ãããšãã§ããã
JoshãBrianã«ã¬ãã¥ãŒã®ããã«CCããŠãBrianãäœè¡ãããã³ãŒãã®1è¡ãžã®ã¢ããã€ã¹ãšå ±ã«ã³ã¡ã³ãããã®ãåããã ãããããã«ãã®äžã§ã¯JoshãBrianã®æžå¿µã«åæããŠããããã«åãçµãããããå€ãã®ã³ãŒããããã·ã¥ããããšãåããã
çµå±ãæã
ã¯ãŸã è©Šè¡ãã§ãŒãº â ããã¯ãŸã ãããã€ã®æºåãã§ãããã©ã³ãã§ã¯ãªããšããããš â ã«ãããæã
ã¯å®éã«ãããã€ã®ããã« master
ã«ããŒãžããããšæããããã£ãšåããã³ãŒããã¬ãã¥ãŒããããã«Pull Requestsã䜿ã£ãŠããã
ããããªããæ©èœããã©ã³ãã®é²æã§åµã£ãŠããŠå©ããã¢ããã€ã¹ãå¿ èŠãªãããŸãã¯ããããªããéçºè ã§ããªãã®äœæ¥ã®ã¬ãã¥ãŒãããŠããããã¶ã€ããŒãå¿ èŠãªãããããã¯ããšãããªããã»ãšãã©ãŸãã¯å šãã³ãŒããæã£ãŠããªããã¹ã¯ãªãŒã³ã·ã§ãããäžè¬çãªã¢ã€ãã£ã¢ããããªãããã«ãªã¯ãšã¹ãããªãŒãã³ããã®ã ãGitHubã®ã·ã¹ãã äžã§ @ãŠãŒã¶å ãè¿œå ããããšã§äººã ãccããããšãã§ããã®ã§ãããç¹å®ã®äººã®ã¬ãã¥ãŒããã£ãŒãããã¯ã欲ãããªãã(äžã§Joshããã£ãã®ãèŠãããã«)ãã«ãªã¯ãšã¹ãã»ã¡ãã»ãŒãžå ã§åçŽã«åœŒãã«ccããã°ããã®ã ã
ãã«ãªã¯ãšã¹ãã®æ©èœã«ããunified diffã1ã³ãããããŸãã¯ãã«ãªã¯ãšã¹ãèªäœã®åè¡ã«ã³ã¡ã³ããå ¥ããããŠãã€ã³ã©ã€ã³ã®å šãŠã1ã€ã®äŒè©±ãã¥ãŒã«æã£ãŠããããã®ã§ãããã¯ã¯ãŒã«ã ãããã¯ãŸããã©ã³ãã«ããã·ã¥ãç¶ããããã®ã§ãããããªããäœããããå¿ãããã³ãŒãã«ãã°ããããšèª°ããã³ã¡ã³ãããã°ãããªãã¯ãããä¿®æ£ããŠãã©ã³ãã«ããã·ã¥ããGitHubãäŒè©±ãã¥ãŒã«æ°ããã³ãããã衚瀺ããŠããããªé¢šã«ãã©ã³ãã«ç¹°ãè¿ããŠããããã®ã ã
ãããã©ã³ããããŸãã«é·ããªãŒãã³ã«ãªã£ãŠããŠã masterãã©ã³ããšåæããªãããã«ãªã£ãŠãããšæããããmasterãããªãã®ãããã¯ã»ãã©ã³ãã«ããŒãžããŠé²ã¿ç¶ãããããã©ã³ãã 'master' ã«æåŸã«æŽæ°ããã®ããã€ãããã«ãªã¯ãšã¹ãã®è°è«ãã³ããããªã¹ãã§ç°¡åã«åããã
ãã©ã³ãã§ãã¹ãŠãæ¬åœã«å®äºãããããããã€ããŠãããé ã ãšæããæã次ã®ã¹ãããã«é²ãããšãã§ããã
æã
ã¯åçŽã« master
ã§çŽæ¥äœæ¥ãããããããã¯ã»ãã©ã³ãã§äœæ¥ããŠå®äºãããšæã£ããšãã«ããŒãžãããã¯ããªã â æã
ã¯äŒç€Ÿã«ããä»ã®èª°ãã«ç· ãããã£ãŠãããããšãããããã¯äžè¬ã« +1 ãçµµæåã ":shipit:
" ã³ã¡ã³ãã§ããããæã
ã¯ä»ã®èª°ãã«ãããèŠãŠãããããã«ããã®ã ã
äžåºŠæã ãããããã¡ããã©ã³ããCIããã¹ãããšãæã ã¯ãããã€ã®ããã«ãããmasterã«ããŒãžããããšãã§ãããããããã·ã¥ãããšãã«èªåçã«ãã«ãªã¯ãšã¹ããã¯ããŒãºããã
æçµçã«ãããªãã®äœæ¥ã¯å®äºã master
ãã©ã³ãã«ããŒãžããããããã¯ãããšãããªããä»ãããã€ããªããšãããããåºã«äººã
ãæ°ããäœæ¥ã®ããŒã¹ã«ããŠã次ã®ãããã€ããæ°æé以å
ã«èµ·ããã ãããããããæŒãåºããŠããã ãããšããããšã ããã£ãŠä»ã®èª°ãã«ããªãã®æžãããã®ãå£ããŠããŸããããªäœããæ¬åœã«ããã·ã¥ããŠã»ãããªãã®ã§ãããŒãžãããæã«ã¯äººã
ã¯ãããæ¬åœã«å®å®ããŠããããšã確ãããããªããã圌ãã®å€æŽãããã·ã¥ããããªãã
æã ã®campfire botãhubotã¯ãåŸæ¥å¡ã®äœã§ãããããã€ã§ããã®ã§ãç°¡åãª:
hubot deploy github to production
ãã³ãŒãããããã€ããããŠã³ã¿ã€ã ãªãã§å¿ èŠãªãã¹ãŠã®ããã»ã¹ããªã¹ã¿ãŒãããããããGitHubã§ã©ãã ããããµãããã®ãåãã:
1æ¥ã«çŽ24æéã6人ã®ç°ãªã人ã (ãµããŒãæ åœããã¶ã€ããŒãå«ã)ããããã€ããŠããããšãåããã ããã
ç§ã¯ãããã1è¡ã®å€æŽãå«ã1ã€ã®ã³ãããã§ãã£ãŠè€æ°ã®ãã©ã³ãã«è¡ã£ãããšããããããã»ã¹ã¯ã·ã³ãã«ã§äžæ¬éãæ¡åŒµæ§ããã£ãŠå匷ããããªãã¯ãããããã£ãŒãã£ãŒã»ãã©ã³ãã«2é±éããã50ã³ãããã§ããããšãã10åããã1ã³ãããã§ããããšãã§ããããããªã«ãåçŽã§æ©æŠã®ç¡ãããã»ã¹ãªã®ã§ã1ã³ãããã§ãããããã¯å€æŽããšãŠãå°ããã£ãã倧ããããšããªãããåé¡ã«ãªããªãéãã¯ã人ã ããã£ãã«ããã»ã¹ãã¹ããããããè¿åãããããããšããªãããšãæå³ãããããããããªããã°ãªããªããæ©ãŸãªããŠããã
ããã¯ä¿¡ããããªãã»ã©ç°¡åã§ãã¯ãã«ãªããã»ã¹ã ãGitHubããšãŠãå®å®ãããã©ãããã©ãŒã ãæã¡ãããã€ã·ã¥ãŒã起祚ããããªããããã¯éããã«å¯ŸåŠãããæ°ããæ©èœã¯è¿ éãªããŒã¹ã§å°å ¥ããããšããããšã«ãã»ãšãã©ã®äººã ãåæããŠããããã®ãšèããŠãããæã ã¯ãããªãã¹ããŒããåçŽããããå°ãªãããã»ã¹ãåŸãããããã«ãå質ãå®å®æ§ãžã®åŠ¥åããªãã
Gitèªäœã¯ç解ããã®ã«ããªãè€éã§ãããã€ãŸãGitãå¿ èŠä»¥äžã«è€éã«äœ¿ãã¯ãŒã¯ãããŒãäœæããããšã¯ãåã«çã®æéã«ç²Ÿç¥çãªãªãŒããŒããããããã«å¢ããããšã«ãªããšããããšã ãããªãã®ããŒã ã«æ©èœãããã£ãšãåçŽã§å¯èœãªã·ã¹ãã ã䜿ãããšãããã³ããããã以äžæ©èœããªããªããŸã§è¡ãããšããããŠçµ¶å¯Ÿã«å¿ èŠã§ããéãã«ãããŠã®ã¿è€éããå ¥ããããšããç§ã¯åžžã«æšå¥šããã
é·ãã€ã³ã¿ãŒãã«(ãªãªãŒã¹ã®éã«æ°é±ããæ°ã«æ)ã§å®åçãªãªãªãŒã¹ãè¡ããªããã°ãªããªãããŒã ããããããã£ãã¯ã¹ãã¡ã³ããã³ã¹ã»ãã©ã³ãããããŠãããŸãã«åºè·ã§çºçãããã®ä»ã®äºã ã«ãšã£ãŠã git-flow ã¯æå³ããããç§ã¯ãã®äœ¿çšã匷ãæšå¥šããã ããã
補åãæ¯æ¥ããã·ã¥ããã³ã³ã¹ã¿ã³ãã«ãã¹ãããããã€ãããšãããåºè·ã®æåãäœãäžããŠããããŒã ã«å¯ŸããŠãç§ã¯GitHub Flowã®ãããªãã£ãšã·ã³ãã«ãªäœããéžã¶ããšããå§ãããã
çŽ æµãªç¿»èš³ãããããšãããããŸããç»åã®ãªã³ã¯åããçŽããVersionãäœæããã®ã§ã埡芧ãã ãããhttps://gist.github.com/ukiuni/71a4039d11bad7234c95 ïŒãã«ãªã¯ãããã£ãã®ã§ãããGistã§ã®ããæ¹ãããããŸããã§ãããå€æŽç¹ãåã蟌ãã§ããã ããŠãæ¬ææžã«ããŒãžããŠããã ããã幞ãã§ããïŒ