ãð°githubåå¿è åããããŒã«ã«ãããªã¢ãŒããžpush
èšèŒããããšæã£ãçµç·¯
ç¬åŠã§ããã°ã©ãã³ã°åŠç¿ãã¹ã¿ãŒãããããšããããgithubã®æ§é ãããã«ç解ã§ããŸããã§ãã..ðŠ
ãã®ãããç§ãšåæ§ã«èŠããã§ããæ¹ãå°ãã§ãç解ãæ·±ãŸã£ããšæããŠãã ãã£ããå¬ãããªãšæãæžãããšæããŸããð
éçºç°å¢
éçºãé²ããäžã§ãããŒã«ã«ããšããªã¢ãŒãããšããèšèãããè³ã«ããŸãã
ã§ã¯ããããŒã«ã«ããšã¯äœã§ããããïŒ
ãããŒã«ã«ããšã¯ãèªåã®PCãå人ã®ã³ã³ãã¥ãŒã¿ãŒã®ããšãæããŸãã
ããŒã«ã«ã§éçºããŠããéã«Webãã©ãŠã¶ãèµ·åãããšããã¡ã€ã³ãlocalhost
ãšè¡šç€ºãããŸãã
äžæ¹ãããªã¢ãŒãããšã¯ãéçºããŠãããããžã§ã¯ãã®æ¬çªç°å¢ã®ããšãæããŸãã
æ¬çªç°å¢ã¯ãWebãã©ãŠã¶ã§æ€çŽ¢ãããéã«è¡šç€ºããããµã€ããWebã¢ããªçãæããŸãã
ã€ãŸããäžã®äžã«ãªãªãŒã¹ãããŠãããã®ãæãããã¡ã€ã³ã¯http/https
ãšè¡šç€ºãããŸãã
ããŒã«ã«ã§ã¯ãæ°ãã«è¿œå ãããæ©èœãè¿œå ããåæ ããããå€æŽç¹ãgitã³ãã³ã䜿çšããŠããŒã«ã«ãããªã¢ãŒãç°å¢ãžåæ ããããšããã€ã¡ãŒãžã§ãã
ãªãã®ããã«ãã©ã³ããåãã®ãïŒ
ãã©ã³ããåãäž»ãªçç±ã¯ãç°ãªãäœæ¥ãå€æŽãåããŠç®¡çããããã§ãã
ãããmainãã©ã³ãã«è€æ°äººã§éçºãè¡ã£ãŠããŸã£ãå Žåãã³ãŒãã®å€æŽã§äºãã«åœ±é¿ãäžããŠããŸãããšããããŸãããã®ãããmainãã©ã³ãããè¿œå ããæ©èœã®ãã©ã³ããåãããšã«ãã£ãŠãåæã«è€æ°ã®æ©èœãä¿®æ£ãéçºã§ããŸãã
æçããããšãã®ãããã³ãäŸãã«èª¬æããŸãã
main
ãmaster
)
- ã¡ã€ã³ãã©ã³ãïŒããã¯æçãããããã®ãããã³å
šäœã§ãã
ãã¹ãŠã®åºæ¬çãªèª¿çãããã§è¡ãããŸãããç¹å®ã®äžç¿ãäžåã«çŠç¹ãåœãŠãŠããŸããã
- ãã©ã³ã
ãã©ã³ãã¯ãç¹å®ã®æçããã£ãã·ã¥ãäœãããã®ãšãªã¢ã§ãã
äŸãã°ãspaghettiãã©ã³ã
ã§ã¯ãã¹ã¿æçã«çŠç¹ãåœãŠãsushiãã©ã³ã
ã§ã¯å¯¿åžäœãã«éäžããŸãã
â ãã©ã³ããåãçç±
æçãäœãéãè€æ°ã®æçããã£ãã·ã¥ãåæã«äœãããšã¯é£ããã§ãã
åããããã³ã§åæé²è¡ãããšãææãã¹ããŒã¹ãæ··ããåã£ãŠããŸããŸãã
ãã©ã³ããåãããšã§ãããããã®ãã£ãã·ã¥ã«éäžã§ããŸãã
äŸãã°ãspaghettiãã©ã³ã
ã§ã¯ã¹ãã²ããã£ãäœããåæã«sushiãã©ã³ã
ã§ã¯å¯¿åžãäœããŸãã
ããã«ãããã¹ãã²ããã£ã®ã¬ã·ããå€æŽããŠã寿åžäœãã«ã¯åœ±é¿ãäžããŸããã
- å€æŽã®çµ±åïŒããŒãžïŒ
æçãå®æããããããããã®ãã£ãã·ã¥ãã¡ã€ã³ã®ãããã³ã«çµ±åããŸãã
ããããã©ã³ãã®ããŒãžã§ãã
åãã£ãã·ã¥ãå®æãããããããçµã¿åãããŠå®å
šãªé£äºãäœãäžããŸãã
åæ§ã«ããã©ã³ãã§ã®äœæ¥ãçµãã£ããããã®å€æŽãã¡ã€ã³ãã©ã³ãã«çµ±åããŸãã
ããã«ãããç°ãªããã©ã³ãã§è¡ã£ãå€æŽãäžã€ã®å Žæã«ãŸãšãŸãããããžã§ã¯ãå
šäœãé²åããŸãã
ãã©ã³ããåãåã«
â»ãããžã§ã¯ãã®ã¯ããŒã³ãéçºç°å¢ãæŽã£ãŠããåæã§èšèŒããŸãã
ã¿ãŒããã«ãéããçŸåšã®ãã©ã³ãã®ç¶æ³ã確èªããå¿
èŠããããŸãã
以äžã®ã³ãã³ããå®è¡ããŠãã ããã
$ git status
å®è¡ãããšãçŸåšã©ãã®ãã©ã³ãã«ããã®ã確èªã§ããŸãã
ãããçŸåšã®ãã©ã³ãã®ç¶æ³ã確èªããæãéãã®ãã©ã³ãã§ã¯ãªãéã移åããããã©ã³ãåãå
¥åãã以äžã®ã³ãã³ããå®è¡ããŠãã ããã
$ git checkout ãã©ã³ãå
å床ããã©ã³ãããã¡ããšå€æŽãããŠããã®ããã©ã³ãç¶æ³ã確èªããŠãã ããã
ãã©ã³ããåã
ãããžã§ã¯ãã«ãã£ãŠã¯main
ordevelop
ãããã©ã³ããåããªããã°ãªããªããšæ±ºãŸãããããšæããŸãããä»åã¯main
ãããã°ã€ã³ããŒãžãäœæããèšå®ã§feature/login-page
ãšãããã©ã³ãåãã©ã³ããåã£ãŠãããŸãã
ãã©ã³ããåãã«ã¯ã以äžã®ã³ãã³ããå®è¡ããŠãã ããã
$ git checkout -b "feature/login-page"
ãã©ã³ããåããã®ãgit status
ã§ãã©ã³ãã確èªããŸãã
On branch feature/login-page
ãšè¡šç€ºãããŠãããOKã§ãïŒ
ãã©ã³ãåã®åãæ¹
ãã©ã³ãåã®åãæ¹ã¯ããããžã§ã¯ããããŒã ã«ãã£ãŠç°ãªãããšããããŸãããäžè¬çãªãã¹ããã©ã¯ãã£ã¹ãæšæºçãªåœåèŠåããããŸãã
ãã©ã³ãåã¯ã§ããã ãæ確ã§ç°¡æœãªãã®ã«ãããšè¯ãã§ãã
ãŸããä»ã®éçºè
ãç解ããããããã«ãæå³ãéããååãä»ããããšã倧åã§ãâ
以äžã¯äžè¬çãªãã©ã³ãåã®åãæ¹ã®äžäŸã§ãã
-
mainãŸãã¯master
ããã©ã«ãã®ã¡ã€ã³ãã©ã³ããéåžžãå®å®ããŠããæ¬çªçšã®ã³ãŒããããã«ãããŸãã -
Feature ãã©ã³ã
æ°ããæ©èœãéçºããããã®ãã©ã³ããäŸ)feature/login-page, feature/user-auth. -
Bugfix ãã©ã³ã
ãã°ä¿®æ£ã®ããã®ãã©ã³ããäŸ)bugfix/fix-navigation-bug, bugfix/issue-123. -
Hotfix ãã©ã³ã
ç·æ¥ã®ä¿®æ£ãå¿ èŠãªå Žåã«äœ¿çšããããã©ã³ããäŸ)hotfix/urgent-security-patch. -
Release ãã©ã³ã
æ°ãããªãªãŒã¹ã®ããã®ãã©ã³ãããªãªãŒã¹åã®æçµèª¿æŽãè¡ãããŸããäŸ)release/version-1.0.0. -
Support ãã©ã³ã
ã¡ã³ããã³ã¹ããµããŒãç®çã®ãã©ã³ããäŸ)support/legacy-version. -
ãã¹ãçšãã©ã³ã
ãã¹ãã®ããã®äžæçãªãã©ã³ããäŸ)test/feature-xyz-tests. -
ç°å¢å¥ãã©ã³ã
ç¹å®ã®ç°å¢ã«é¢é£ãããã©ã³ããäŸ)dev, staging, qa.
å€æŽç¹ããªã¢ãŒããžåæ ããã
å€æŽã®ã¹ããŒãžã³ã°
ãã©ã³ããåããæ©èœãè¿œå ãå€æŽãããã¡ã€ã«ãããŒãžã§ã³ç®¡çã·ã¹ãã ã«èªèãããããã«ãå€æŽãã¹ããŒãžã³ã°ãšãªã¢ã«è¿œå ããŸãã
ããã«ãããã©ã®å€æŽãå«ããããéžæã§ããŸãã
åæ ãããããã«ã以äžã®ã³ãã³ãã䜿çšããŸãã
â»VSCodeã䜿çšããŠããå Žåã¯ãæåã§ãã¹ããŒãžã³ã°å¯èœã§ãã
$ git add .
ã³ãããã®äœæ
ã³ããããšã¯
ããŒãžã§ã³ç®¡çã·ã¹ãã ïŒVersion Control System, VCSïŒã䜿çšããŠããå Žåã«ãå€æŽããªããžããªã«èšé²ããŠããããã®ã§ãã
ããŒãžã§ã³ç®¡çã·ã¹ãã ãšã¯ãã³ãŒãããããžã§ã¯ãã®å€æŽå±¥æŽã管çããç°ãªãããŒãžã§ã³ã®ã³ãŒãã远跡ããããã®ãã®ã§ãã
ã³ãããã¯ãå€æŽããããã¡ã€ã«ãã³ãŒãã«å¯Ÿãã ãã¹ãããã·ã§ããã ãäœæããããããªããžããªã«ä¿åããŸããããã«ããããããžã§ã¯ãã®é²æã远跡ã§ããå¿ èŠãªå Žåã«å€æŽãå ã«æ»ãããšãå¯èœã§ãã
å€æŽãã¹ããŒãžã³ã°ãšãªã¢ã«è¿œå ããããšã«ããããªã¢ãŒããžåæ ãããããã«æºåïŒã¹ããŒãžã³ã°ïŒãå®äºããããã次ã¯ã³ãããã¡ãã»ãŒãžãšãšãã«ã³ããããäœæããŸãã
ã³ãããã¡ãã»ãŒãžã¯å€æŽã®èŠçŽãç®çãç°¡æœã«èª¬æãããã®ã§ãã
ä»åã¯ããã°ã€ã³ããŒãžãäœæããæšã説æãããããã以äžã®ã³ãã³ãã§ã³ãããã¡ãã»ãŒãžãäœæããŸãã
$ git commit -m "create login page"
ã³ãããã¡ãã»ãŒãžãäœæã§ãããããªã¢ãŒãç°å¢ã«åæ ãããŸãã
以äžã®ã³ãã³ããå®è¡ããŠãã ããã
$ git push origin main
å€æŽã®èšé²
ã³ããããäœæããããšãå€æŽããªããžããªã«æ£åŒã«èšé²ãããŸãã
ãªããžããªãšã¯
ããŒãžã§ã³ç®¡çã·ã¹ãã ïŒVCSïŒã䜿çšããéã«ããããžã§ã¯ããã³ãŒãã®å€æŽå±¥æŽãä¿åã管çããããã®ããŒã¿ããŒã¹ã®ãããªãã®ã§ãããªããžããªã«ã¯ãããžã§ã¯ãã«é¢é£ãããã¹ãŠã®ãã¡ã€ã«ããã£ã¬ã¯ããªãããã³ãããã®å€æŽå±¥æŽãå«ãŸããŸãã
ããã«ãããç¹å®ã®æç¹ã®ãããžã§ã¯ãã®ç¶æ ãä¿åãããŸãã
ããŒã«ã«ããªã¢ãŒããšåãç°å¢ã«ãã
ãªã¢ãŒãç°å¢ã«ã¯æ°ããè¿œå ãå€æŽãããããã¡ã€ã«ãããŒãžã§ã³ç®¡çã·ã¹ãã ã«åæ ããããŸãããããŒã«ã«ç°å¢ã®mainãã©ã³ã
ã«ã¯ãŸã åæ ãããŠããŸããã
ã€ãŸããããŒã«ã«ç°å¢ãšãªã¢ãŒãç°å¢ã«å·®åãçºçããŠããŸãã
ãã®å·®åãåããããã«ä»¥äžã®ã³ãã³ãå®è¡ããŸãã
â ãŸãããã©ã³ããmainãã©ã³ã
ã«åãæ¿ããã
$ git checkout main
â¡å·®åããªããããªã¢ãŒãç°å¢ãšåãã«ããã
$ git pull origin main
æåŸã«
GitHubã§ã®å
容远å ãå€æŽã®åæ æ¹æ³ã«ã€ããŠã説æãããŠããã ããŸããããäœã誀ã£ãŠããç¹ãããã°ãæ瀺ããã ããŸããšå¹žãã§ãã
ãŸããããã¹ãã ãã§ã¯ç解ãæ·±ãŸããªããšæãã®ã§ãå®éã«æãåãããŠåŠã¶ã®ãäžçªæ©ããšèããŸãïŒ
ç§ããŸã ãŸã é§ãåºãã®ãšã³ãžãã¢ã§ãããç解ããããŠããªãããšããããããããŸãããæ¥ã
å®è·µãç¹°ãè¿ããŠæé·ããŠãããããšæã£ãŠããŸãð¥
Discussion