æ¬è¨äºã¯
ããã¾ããèããªãââã¦ã£ã¼ã¯ï½Gitç·¨ï½ã
5æ¥ç®ã®è¨äºã§ãã
ð¦
4æ¥ç®
â¶â¶ æ¬è¨äº
ð»

- ã¯ããã«
- ãã©ã³ã使ã§ã®è¦æ©
- ãGit flowãã¨ããèãæ¹
- ä¸è¬çãªãã©ã³ãåã¨å½¹å²
- åãã©ã³ãã®é¢ä¿æ§ã¨ããã¼
- ãããã«
ã¯ããã«
çæ§ãã¯ããã¾ãã¦ãå
¥ç¤¾3å¹´ç®ãçãã¬æ´6å¹´ç®ã®å å
ã¨ç³ãã¾ãã
æ®æ®µã¯JavaãPHPãç¨ãã¦éçºãä¿å®éç¨ããã¦ããè
ã§ãã
ä»åã¯ããã¾ããèããªãââã¦ã£ã¼ã¯ï½Gitç·¨ï½ãã¨ãããã¨ã§ããã©ã³ã使æã®å½åè¦åã«ã¤ãã¦ã®è¨äºã«ãªãã¾ãã å½åè¦åé¢é£ã®è¨äºã¯æ¢ã«ããããããã¨æãã¾ããããªãã ãå°é£ãããã®ãå¤ãã®ã§ã§ããã ãç°¡åã«æ¸ããã¨æãã¾ãã Gitã使ç¨ããä¸ã§ã¤ããã®ã¤ã®å 容ã«ãªãã¾ãã®ã§ãè¿·ã£ãéãããã¾ããèããªãããï¼ãã¨æã£ãã¨ãã«ã³ã½ã£ã¨è¦ã¦ããããã°ã¨æãã¾ãã
ãã©ã³ã使ã§ã®è¦æ©
Gitãå©ç¨ããã¨å¿
ãã¨è¨ã£ã¦ããã»ã©ããã©ã³ãã使ããæ©ä¼ããã£ã¦ãã¾ãã
ããã§åã¯å£ã«ã¶ã¡å½ããã¾ããã
ããã©ã³ãåã¯ä½ã«ããããããã ããããã
éå»ã®ãã©ã³ãã¨å
輩ããã®æç¤ºãåºã«ãååã®æå³ãããããããªãã¾ã¾ãã©ã³ãã使ãã¦ããã¾ããã
åãã¦ã¸ã ã«è¡ã£ãæ¥ãå¨ãã®ãããã§ã®çãã¬ã¡ãã¥ã¼ãè¦ããè¦ã¾ãã§ãã£ã¦ããæã¨åãæè¦ã§ããã
ãããªä¸å®ãæ±ãã¦ããæ¥ã®ãã¨ã§ããã
ä»äºå¾ã®ã¸ã ã§ãGit flowãã¨ããèãæ¹ããããã¨ããçãã¬ä»²éã®ã¨ã³ã¸ãã¢ã«æãã¦ãããã¾ããã
ãGit flowãã¨ããèãæ¹
Git flowã¨ã¯Gitã«ããããªãã¸ããªã®ã¯ã¼ã¯ããã¼ã®ã¢ãã«ã®ä¸ã¤ã§ãããã¢ã¸ã¥ã¼ã«ã®æµããã«ã¼ã«ã表ãããã®ã§ãã
Vincent Driessenæ°ã®ããA successful Git branching modelãããåºã«ãã¦ãã¾ãã
å½è¨äºã§ã¯ããã®ãGit flowãã«åºã¥ããå½åè¦åãè¨è¼ãã¾ãã
ä¸è¬çãªãã©ã³ãåã¨å½¹å²
main (â»master)
æ¬çªç°å¢ã¢ã¸ã¥ã¼ã«ã®ãã©ã³ãã
æ¬çªç°å¢ã¨åãç¶æ
ã«ä¿ã£ã¦ããããªãªã¼ã¹å¾ã«ã¿ã°ä»ããè¡ãã¾ãã
ãã®ãã©ã³ãã«å¯¾ããç´æ¥ã½ã¼ã¹ã³ã¼ãã夿´ãpushãããããªã¢ã¸ã¥ã¼ã«ã¸ã®å¤æ´ã¯è¡ãã¾ããã
â»mainãã©ã³ãã¯å ã masterã¨ããååã§ããããmasterã¨ããåèªã¯å¥´é·ã®æå³ã®slaveã®å¯¾ç¾©èªã¨ãªããå·®å¥çãªåèªã¨ããã¦ããããmasterâmainã¸ã¨å¤æ´ããã¦ãã¾ãã
develop
éçºç¨ã®ãã©ã³ããéçºããã¢ã¸ã¥ã¼ã«ãéåããããã©ã³ãã§ãã
ãã®ãã©ã³ãããfeatureãã©ã³ããåã£ã¦éçºãè¡ãã¾ãã
ãã®ãã©ã³ãã«å¯¾ããç´æ¥ã½ã¼ã¹ã³ã¼ãã夿´ãpushãããããªã¢ã¸ã¥ã¼ã«ã¸ã®å¤æ´ã¯è¡ãã¾ããã
feature
æ©è½è¿½å ç¨ã®ãã©ã³ãã
develop ãããã©ã³ã使ãã develop ã«ãã¼ã¸ãã¾ãã
è¤æ°ã®æ©è½ãéçºããå ´åãè¤æ°äººã§éçºãè¡ãå ´åã«ã¯ããã®ãã©ã³ããè¤æ°ä½æãã¾ãã
(ä¾:feature_ã¡ã¼ã«æ©è½ ãfeature_ã¢ã³ã±ã¼ãç»é¢è¿½å )
hotfix
ãªãªã¼ã¹å¾ã®ç·æ¥å¯¾å¿ç¨ãã©ã³ãã
ç·æ¥ã®ãã°å¯¾å¿ãªã©ãç¾å¨ã®æ¬çªç°å¢ã«å¯¾ãã¦ç·æ¥ã®å¤æ´ãå¿
è¦ãªå ´åã«ä½æãã¾ãã
mainãããã©ã³ã使ããmainã«ãã¼ã¸ãã¾ãã
mainã«ãã¼ã¸ããéã«ãmainã«ã¿ã°ãã¤ãã¾ãã
(ä¾:Tag 1.1)
æ¬çªãªãªã¼ã¹å¾ãdevelopã¸ãã¼ã¸ãã¾ãã
release
ãªãªã¼ã¹ã®æºåç¨ã®ãã©ã³ãã
ãªãªã¼ã¹äºå®ã®æ©è½ããã°ãã£ãã¯ã¹ãåæ ãããç¶æ
(綺éºãªç¶æ
)ã®developãããã©ã³ã使ãã¾ãã
ãªãªã¼ã¹æºåãæ´ã£ããã mainã«ãã¼ã¸ãã¾ãã
mainã«ãã¼ã¸ããéã«ãmainã«ã¿ã°ãã¤ãã¾ãã
(ä¾:Tag 2.0)
releaseã«ä¿®æ£ããã£ãå ´åã¯ãdevelopã«ããã¼ã¸ãã¾ãã
developã«ã¯é »ç¹ã«ãã¼ã¸ãè¡ãããã®ã§ããªãªã¼ã¹ç¨ã®ã¢ã¸ã¥ã¼ã«ãåºãããããreleaseãã©ã³ããç¬ç«ããã¾ãã
ãããããã¨ã§ãmainã¨ã®éã«ã¯ã³ã¯ãã·ã§ã³ç½®ããã¨ãã§ããmainã¸ãªãªã¼ã¹å¯¾è±¡å¤ã®ä¿®æ£ãæ··å
¥ãããã¨ãé²ããã¨ãã§ãã¾ãã
(åããã®åã«æãããçµé¨ããã§ãã)
åãã©ã³ãã®é¢ä¿æ§ã¨ããã¼
ä¸è¨ã§ç´¹ä»ããåãã©ã³ãã®ã¤ã¡ã¼ã¸å³ã«ãªãã¾ãã

å³ã§è¦ãã¨ãåãã©ã³ãã®ä½æã¿ã¤ãã³ã°ã¨æµãã®ã¤ã¡ã¼ã¸ãä»ãããããã¨æãã¾ãã
â»ç¾å ´ã®ç¶æ³ã«ãããããã¼ã¯å¤åããå¯è½æ§ãããã¾ãã
ãããã«
ãã©ã³ãåã®å½åè¦åã«ã¤ãã¦ã§ããã ãç°¡åã«ç´¹ä»ãã¾ããã
ä¸è¨ã¯ããã¾ã§ä¸è¬çãªè¦åã«ãªãã¾ãã
è¦åãè¨ããä¸çªã®ç®çã¯ãèªèã®çµ±ä¸ã§ãã
ç¹ã«è¤æ°äººã§éçºãéç¨ãè¡ã£ã¦ããå ´åããã©ã³ãå½åè¦åã®èªèããã£ã¦ããªãã¨æ··ä¹±ãæãããã¾ããã
ã¹ãã¬ã¹ãªãã¢ã¸ã¥ã¼ã«ç®¡çãç¶ãã¦ãããããè¦åãè¨ãããã¨ããå§ããã¾ãã
â»çãã¬ãåãã§ãããã«ã¼ã«æ±ºããç¶ç¶ã®éµã§ããã
ãã ãããã¼ã å
ã§æ¢ã«å
±éã®èªèãè¦åãããå ´åãããã«åã£ã¦ããªãã¦ãä½ãåé¡ããã¾ããã
æ°ããè¦åãæ±ºããéããéç¨æ¹æ³ã«å°ã£ãéã®åèã«ãã¦ããã ããã°å¹¸ãã§ãã
å ¨ã¨ã³ã¸ãã¢ã«å¹¸ããã
WEBç³»ã·ã¹ãã ã¨ã³ã¸ãã¢
çèã®éçºãä¿å®éç¨ãè¡ã£ã¦ãã¾ãðª