-
6. GitHub
-
7. Git ã®ããŸããŸãªããŒã«
- 7.1 ãªããžã§ã³ã®éžæ
- 7.2 察話çãªã¹ããŒãžã³ã°
- 7.3 äœæ¥ã®é ããããšæ¶ããã
- 7.4 äœæ¥å 容ãžã®çœ²å
- 7.5 æ€çŽ¢
- 7.6 æŽå²ã®æžãæã
- 7.7 ãªã»ããã³ãã³ã詳説
- 7.8 é«åºŠãªããŒãžææ³
- 7.9 Rerere
- 7.10 Git ã«ãããããã°
- 7.11 ãµãã¢ãžã¥ãŒã«
- 7.12 ãã³ãã«ãã¡ã€ã«ã®äœæ
- 7.13 Git ãªããžã§ã¯ãã®çœ®ãæã
- 7.14 èªèšŒæ å ±ã®ä¿å
- 7.15 ãŸãšã
-
8. Git ã®ã«ã¹ã¿ãã€ãº
- 8.1 Git ã®èšå®
- 8.2 Git ã®å±æ§
- 8.3 Git ããã¯
- 8.4 Git ããªã·ãŒã®å®æœäŸ
- 8.5 ãŸãšã
-
9. Gitãšãã®ä»ã®ã·ã¹ãã ã®é£æº
-
10. Gitã®å åŽ
- 10.1 é 管ïŒPlumbingïŒãšç£åšïŒPorcelainïŒ
- 10.2 Gitãªããžã§ã¯ã
- 10.3 Gitã®åç §
- 10.4 Packfile
- 10.5 Refspec
- 10.6 転éãããã³ã«
- 10.7 ã¡ã³ããã³ã¹ãšããŒã¿ãªã«ããª
- 10.8 ç°å¢å€æ°
- 10.9 ãŸãšã
-
A1. ä»é² A: ãã®ä»ã®ç°å¢ã§ã®Git
- A1.1 ã°ã©ãã£ã«ã«ã€ã³ã¿ãã§ãŒã¹
- A1.2 Visual Studioã§Gitã䜿ã
- A1.3 Eclipseã§Gitã䜿ã
- A1.4 Bashã§Gitã䜿ã
- A1.5 Zshã§Gitã䜿ã
- A1.6 Powershellã§Gitã䜿ã
- A1.7 ãŸãšã
-
A2. ä»é² B: Gitãããªãã®ã¢ããªã±ãŒã·ã§ã³ã«çµã¿èŸŒã
-
A3. ä»é² C: Gitã®ã³ãã³ã
- A3.1 ã»ããã¢ãããšèšå®
- A3.2 ãããžã§ã¯ãã®ååŸãšäœæ
- A3.3 åºæ¬çãªã¹ãããã·ã§ãã
- A3.4 ãã©ã³ããšããŒãž
- A3.5 ãããžã§ã¯ãã®å ±æãšã¢ããããŒã
- A3.6 æ€æ»ãšæ¯èŒ
- A3.7 ãããã°
- A3.8 ãããã®é©çš
- A3.9 ã¡ãŒã«
- A3.10 å€éšã·ã¹ãã
- A3.11 ã·ã¹ãã 管ç
- A3.12 é 管ã³ãã³ã
1.3 䜿ãå§ãã - Gitã®åºæ¬
Gitã®åºæ¬
ã§ã¯ãèŠããã«Gitãšã¯äœãªã®ã§ããããã ããã¯ãGitãåžåããã«ã¯éèŠãªç¯ã§ãããªããªãã°ãããGitãäœããç解ããGitãã©ããã£ãŠçšŒåããŠãããã®æ ¹æ¬ãç解ã§ããã°ãGitãå¹æçã«äœ¿ãäºãæãããšãŠã容æã«ãªãããã§ãã GitãåŠã¶ãšãã¯ãSubversionãPerforceã®ãããªä»ã®VCSã«é¢ããŠããªããæããç¥ã£ãŠããããšã¯ãæèããªãã§ãã ããããã®ããŒã«ã䜿ããšãã«ãã¡ãã£ãšããæ··ä¹±ãåé¿ããããšã«åœ¹ç«ã¡ãŸãã ãŠãŒã¶ãŒã»ã€ã³ã¿ãŒãã§ã€ã¹ããã䌌ãŠããã«ãé¢ããããGitã®æ å ±ã®æ ŒçŽã®ä»æ¹ãæ å ±ã«ã€ããŠã®èãæ¹ã¯ããããä»ã®ã·ã¹ãã ãšã¯å€§ããç°ãªã£ãŠããŸãããããã®çžéãç解ããäºã¯ãGitãæ±ã£ãŠããéã®æ··ä¹±ããé²ãã§ãããã§ãããã
ã¹ãããã·ã§ããã§ãå·®åã§ã¯ãªã
Gitãšä»ã®VCS (Subversionãšãã®é¡ãå«ã)ã®äž»èŠãªçžéã¯ãGitã®ããŒã¿ã«ã€ããŠã®èãæ¹ã§ãã æŠå¿µçã«ã¯ãä»ã®ã·ã¹ãã ã®ã»ãšãã©ã¯ãæ å ±ããã¡ã€ã«ãåºæ¬ãšããå€æŽã®ãªã¹ããšããŠæ ŒçŽããŸãã ãããã®ã·ã¹ãã ïŒCVSãSubversionãPerforceãBazaarçã ïŒã¯ãå³1-4ã«æãããŠããããã«ãã·ã¹ãã ãä¿æããŠãããã¡ã€ã«ã®éåãšãæéãéããŠããããã®ãã¡ã€ã«ã«å ããããå€æŽã®æ å ±ãèããŸãã
Gitã¯ããã®æ¹æ³ã§ã¯ããŒã¿ãèããããæ ŒçŽããŸããã 代ããã«ãGitã¯ããŒã¿ãããã»ãã¡ã€ã«ã·ã¹ãã ã®ã¹ãããã·ã§ããã®éåã®ããã«èããŸãã Gitã§å šãŠã®ã³ãããïŒèš³æ³šïŒcommitãšã¯å€æŽãèšé²ã»ä¿åããGitã®æäœã詳现ã¯åŸã®ç« ãåç §ïŒããããšãããããã¯ãããžã§ã¯ãã®ç¶æ ãä¿åãããšããGitã¯åºæ¬çã«ããã®æã®å šãŠã®ãã¡ã€ã«ã®ç¶æ ã®ã¹ãããã·ã§ãããæ®ãïŒèš³è 泚ïŒæèš³ïŒããã®ã¹ãããã·ã§ãããžã®åç §ãæ ŒçŽããã®ã§ãã å¹çåã®ããããã¡ã€ã«ã«å€æŽãç¡ãå Žåã¯ãGitã¯ãã¡ã€ã«ãåæ ŒçŽãããæ¢ã«æ ŒçŽããŠããã以åã®åäžã®ãã¡ã€ã«ãžã®ãªã³ã¯ãæ ŒçŽããŸãã Gitã¯ããããããŒã¿ã*äžé£ã®ã¹ãããã·ã§ãã*ã®ããã«èããŸãã
ããããGitãšé¡äŒŒã®å šãŠã®ä»ã®VCSãšã®éã®éèŠãªéãã§ãã ã»ãšãã©ã®ä»ã®ã·ã¹ãã ã以åã®äžä»£ããç䌌ããŠãããã»ãšãã©å šãŠã®ããŒãžã§ã³ç®¡çã®ããæ¹ïŒèš³è 泚ïŒaspectãæèš³ïŒããGitã«èŠçŽãããŸãã ããã¯ãGitããåçŽã«VCSãšèšãããããã®äžã«çµã¿èŸŒãŸãã幟ã€ãã®éæ¹ãç¡ããã¯ãã«ãªããŒã«ãåããããã»ãã¡ã€ã«ã·ã¹ãã ã«ããŠããŸãã ãã®ããæ¹ã§ããŒã¿ãèããããšã§åŸãããå©çã®å¹Ÿã€ããã[ch03-git-branching]ãæ±ã£ããšãã«æ¢æ±ããŸãã
ã»ãšãã©å šãŠã®æäœãããŒã«ã«
Gitã®ã»ãšãã©ã®æäœã¯ãããŒã«ã«ã»ãã¡ã€ã«ãšæäœããè³æºã ãå¿ èŠãšããŸãã倧äœã¯ãããã¯ãŒã¯ã®ä»ã®ã³ã³ãã¥ãŒã¿ãŒããã®æ å ±ã¯å¿ èŠã§ã¯ãããŸããã ã»ãšãã©ã®æäœããããã¯ãŒã¯é 延æ倱ã䌎ãCVCSã«æ £ããŠããã®ã§ããã°ããã£ãããšããCVCSã«æ £ããŠããã®ã§ããã°ããã®Gitã®é床ã¯ç¥æ¥ã®ããã«æããã§ãããïŒèš³è 泚ïŒçŽèš³ã¯ããã®Gitã®åŽé¢ã¯ã¹ããŒãã®ç¥æ§ããã®äžã®ãã®ãšã¯æããªãåã§Gitãç¥çŠãããšèããããã§ããããïŒã ãããžã§ã¯ãã®å±¥æŽã¯äžžããšããããã®ããŒã«ã«ã»ãã£ã¹ã¯ã«ä¿æããŠããã®ã§ã倧æŠã®æäœã¯ã»ãŒç¬æã®ããã«èŠããŸãã
äŸãã°ããããžã§ã¯ãã®å±¥æŽãé²èŠ§ããããã«ãGitã¯ãµãŒããŒã«å±¥æŽãååŸãã«è¡ã£ãŠè¡šç€ºããå¿ èŠããããŸãããçŽæ¥ã«ããŒã«ã«ã»ããŒã¿ããŒã¹ãããããèªãã ãã§ãã ããã¯ããããžã§ã¯ãã®å±¥æŽãã»ãšãã©å³åº§ã«ç¥ããšããããšã§ãã ããããããã¡ã€ã«ã®çŸåšã®ããŒãžã§ã³ãšããã®ãã¡ã€ã«ã®1ã¶æåã®éã«å°å ¥ãããå€æŽç¹ãç¥ãããã®ã§ããã°ãGitã¯ãé éã®ãµãŒããŒã«å·®åãèšç®ããããã«åãåãããããããŒã«ã«ã§å·®åãèšç®ããããã«é éãµãŒããŒãããã¡ã€ã«ã®å€ãããŒãžã§ã³ãæã£ãŠãã代ããã«ã1ãæåã®ãã¡ã€ã«ã調ã¹ãŠããŒã«ã«ã§å·®åã®èšç®ãè¡ãªããŸãã
ããã¯ãŸãããªãã©ã€ã³ã§ããããVPNããåãé¢ãããŠãããšããŠããåºæ¥ãªãäºã¯éåžžã«å°ãªãããšãæå³ããŸãã ãããé£è¡æ©ãããã¯åè»ã«ä¹ã£ãŠã¡ãã£ãšããä»äºãããããšããŠããã¢ããããŒãããããã«ãããã¯ãŒã¯æ¥ç¶ãå§ãããŸã§ã楜ããã³ãããã§ããŸãã ãããåž°å® ããŠVPNã¯ã©ã€ã¢ã³ããé©åã«äœåãããããªããšããŠããããã«äœæ¥ãã§ããŸãã å€ãã®ä»ã®ã·ã¹ãã ã§ã¯ãããããè¡ãªãäºã¯ãäžå¯èœã§ãããèŠçã§ãã äŸãã°Perforceã«ãããŠã¯ããµãŒããŒã«æ¥ç¶ã§ããªããšãã¯ãå€ãã®äºãè¡ãªããŸãããSubversionãšCVSã«ãããŠã¯ããã¡ã€ã«ã®ç·šéã¯ã§ããŸãããããŒã¿ããŒã¹ã«å€æŽãã³ãããã§ããŸããïŒãªããªãã°ãããŒã¿ããŒã¹ããªãã©ã€ã³ã ããã§ãïŒã ãã®ããšã¯å·šå€§ãªåé¡ã«æããªãã§ãããããå®ã«å€§ããªéããçãããããšã«é©ãã§ãããã
Gitã¯å®å šæ§ãæã€
Gitã®å šãŠã®ãã®ã¯ãæ ŒçŽãããåã«ãã§ãã¯ãµã ãåããããã®åŸããã®ãã§ãã¯ãµã ã§ç §åãããŸãã ããã¯ãGitãããã«é¢ããŠæç¥ããããšãªãã«ããããããã¡ã€ã«ã®å 容ãå€æŽããããšãäžå¯èœã§ããããšãæå³ããŸãã ãã®æ©èœã¯ãGitã®æäžå±€ã«çµã¿èŸŒãŸãããŸãGitã®å²åŠã«äžå¯æ¬ ã§ãã Gitããããæç¥ã§ããªãç¶æ ã§ã転éäžã«æ å ±ã倱ãããããã¯å£ãããã¡ã€ã«ãååŸããããšã¯ãããŸããã
Gitããã§ãã¯ãµã çæã«çšããæ©æ§ã¯ãSHA-1ããã·ã¥ãšåŒã°ããŸãã ããã¯ã16é²æ°ã®æåïŒ0-9ãša-fïŒã§æ§æããã40æåã®æååã§ããã¡ã€ã«ã®å 容ãããã¯Gitå ã®ãã£ã¬ã¯ããªæ§é ãå ã«èšç®ãããŸãã SHA-1ããã·ã¥ã¯ããã®ãããªãã®ã®ããã«èŠããŸã:
24b9da6552252987aa493b52f8696cd6d3b00373
Gitã¯ããã·ã¥å€ã倧å€ããå©çšããã®ã§ãGitã®ããããšããã§ããããã®ããã·ã¥å€ãèŠãããšã§ãããã äºå®ãGitã¯ãã¡ã€ã«åã§ã¯ãªãããã¡ã€ã«å 容ã®ããã·ã¥å€ã«ãã£ãŠGitããŒã¿ããŒã¹ã®äžã«å šãŠãæ ŒçŽããŠããŸãã
Gitã¯éåžžã¯ããŒã¿ãè¿œå ããã ã
Gitã§è¡åãããšããã»ãšãã©å šãŠã¯GitããŒã¿ããŒã¹ã«ããŒã¿ãè¿œå ããã ãã§ãã ã·ã¹ãã ã«ãããªãæ¹æ³ã§ããUNDOäžå¯èœãªããšããããã¯ããŒã¿ãæ¶ãããããšããããã®ã¯å°é£ã§ãã ããããVCSãšåæ§ã«ããŸã ã³ãããããŠããªãå€æŽã¯å€±ã£ãããå°ç¡ãã«ã§ãããããŸããããããã¹ãããã·ã§ãããGitã«ã³ãããããåŸã¯ãç¹ã«ããå®æçã«ããŒã¿ããŒã¹ãä»ã®ãªããžããªã«ããã·ã¥ïŒèš³æ³šïŒpushã¯Gitã§ç®¡çãããããªããžããªã®ããŒã¿ããä»ã®ãªããžããªã«è»¢éããæäœã詳现ã¯åŸã®ç« ãåç §ïŒããŠããã°ãå€æŽã倱ãããšã¯å€§å€é£ãããªããŸãã
æ¿ããç©äºããã¿ãã¡ãã«ããå±éºãªãã«è©Šè¡é¯èª€ãè¡ãªãããããããã¯Gitã®å©çšãåã³ã«å€ããŸããGitãããŒã¿ãã©ã®ããã«æ ŒçŽããŠããã®ããšå€±ãããããã«æããããŒã¿ãã©ããã£ãŠå埩ã§ããã®ãã«ã€ããŠã®ããã詳现ãªè§£èª¬ã«é¢ããŠã¯ãäœæ¥ã®ããçŽããåç §ããŠãã ããã
äžã€ã®ç¶æ
ä»ã泚æããŠãã ããã ããåŠç¿ããã»ã¹ã®æ®ããã¹ã ãŒãºã«é²ãããã®ã§ããã°ãããã¯Gitã«é¢ããŠèŠããŠããäž»èŠãªäºã§ãã Gitã¯ããã¡ã€ã«ãåž°å±ãããã³ãããæžãä¿®æ£æžãã¹ããŒãžæžã®ãäžã€ã®äž»èŠãªç¶æ ãæã¡ãŸãã ã³ãããæžã¯ãããŒã«ã«ã»ããŒã¿ããŒã¹ã«ããŒã¿ãå®å šã«æ ŒçŽãããŠããããšãæå³ããŸãã ä¿®æ£æžã¯ããã¡ã€ã«ã«å€æŽãå ããŠããŸãããããŒã¿ããŒã¹ã«ããããŸã ã³ããããããŠããªãããšãæå³ããŸãã ã¹ããŒãžæžã¯ã次ã®ã¹ãããã·ã§ããã®ã³ãããã«å ããããã«ãçŸåšã®ããŒãžã§ã³ã®ä¿®æ£ããããã¡ã€ã«ã«å°ãã€ããŠããç¶æ ãæå³ããŸãã
ãã®ããšã¯ãGitãããžã§ã¯ãïŒèš³è 泚ïŒãã£ã¬ã¯ããªå ïŒã®ãGitãã£ã¬ã¯ããªãäœæ¥ãã£ã¬ã¯ããªãã¹ããŒãžã³ã°ã»ãšãªã¢ã®äžã€ã®äž»èŠãªéšåïŒèš³è 泚ïŒã®ç解ïŒã«å°ããŸãã
Gitãã£ã¬ã¯ããªã¯ããããžã§ã¯ãã®ããã®ã¡ã¿ããŒã¿ïŒèš³è 泚ïŒGitã管çãããã¡ã€ã«ããã£ã¬ã¯ããªãªã©ã®ãªããžã§ã¯ãã®èŠçŽïŒãšãªããžã§ã¯ãã®ããŒã¿ããŒã¹ããããšããã§ãã ããã¯ãGitã®æãéèŠãªéšåã§ãä»ã®ã³ã³ãã¥ãŒã¿ãŒãããªããžããªãã¯ããŒã³ïŒèš³è 泚ïŒã³ããŒå ã®æ å ±ãèšé²ããç¶æ ã§ãGitãªããžããªãã³ããŒããããšïŒãããšãã«ãã³ããŒããããã®ã§ãã
äœæ¥ãã£ã¬ã¯ããªã¯ããããžã§ã¯ãã®äžã€ã®ããŒãžã§ã³ã®åäžãã§ãã¯ã¢ãŠãã§ãã ãããã®ãã¡ã€ã«ã¯Gitãã£ã¬ã¯ããªã®å§çž®ãããããŒã¿ããŒã¹ããåŒãåºãããŠãå©çšãããä¿®æ£ããããã«ãã£ã¹ã¯ã«é 眮ãããŸãã
ã¹ããŒãžã³ã°ã»ãšãªã¢ã¯ãæ®éã¯Gitãã£ã¬ã¯ããªã«å«ãŸããã次ã®ã³ãããã«äœãå«ãŸãããã«é¢ããŠã®æ å ±ãèããäžã€ã®ãã¡ã€ã«ã§ãã ãã€ã³ããã¯ã¹ããšåŒã°ããããšããããŸãããã¹ããŒãžã³ã°ã»ãšãªã¢ãšåŒã°ããããšãå€ãã§ãã
åºæ¬çãªGitã®ã¯ãŒã¯ãããŒã¯ããã®ãããªé¢šã«é²ã¿ãŸãïŒ
-
äœæ¥ãã£ã¬ã¯ããªã®ãã¡ã€ã«ãä¿®æ£ããŸãã
-
ä¿®æ£ããããã¡ã€ã«ã®ã¹ãããã·ã§ãããã¹ããŒãžã³ã°ã»ãšãªã¢ã«è¿œå ããŠããã¡ã€ã«ãã¹ããŒãžããŸãã
-
ã³ãããããŸããïŒèš³è 泚ïŒGitã§ã¯ïŒããã¯ãã¹ããŒãžã³ã°ã»ãšãªã¢ã«ãããã¡ã€ã«ãååŸããæ°žä¹ äžå€ã«ä¿æããã¹ãããã·ã§ãããšããŠGitãã£ã¬ã¯ããªã«æ ŒçŽããããšã§ãã
ãããã¡ã€ã«ã®ç¹å®ã®ããŒãžã§ã³ãGitãã£ã¬ã¯ããªã®äžã«ãããšããããã³ãããæžã ãšèŠãªãããŸãã ããä¿®æ£ãããŠããŠãã¹ããŒãžã³ã°ã»ãšãªã¢ã«å ããããŠããã°ãã¹ããŒãžæžã§ãã ãããŠããã§ãã¯ã¢ãŠããããŠããå€æŽãããŸããããã¹ããŒãžãããŠããªããšãããªããä¿®æ£æžã§ãã [ch02-git-basics]ã§ã¯ããããã®ç¶æ ãšãã©ããã£ãŠããããå©çšããããããããã¯å®å šã«ã¹ããŒãžåéšåãçç¥ãããã«é¢ããŠãã詳ããåŠç¿ããŸãã