Gitã®è€éãªã³ãã³ããèŠããããšã«èŠåŽããŠããŸãããïŒã³ãããã¡ãã»ãŒãžãèããã®ã«æéãããã£ãŠããŸãããïŒ
æ¬èšäºã§ã¯ãAnthropicã®Claude Codeã§Gitãå¹ççã«æäœããæ¹æ³ã詳ãã解説ããŸããClaude CodeãæŽ»çšããããšã§ãã倿Žãã³ãããããŠããæ°ãããã©ã³ããäœã£ãŠããšãã£ãèªç¶ãªæ¥æ¬èªã§Gitæäœãå¯èœã«ãªããŸãã
ããã«ã倿Žå 容ãèªååæããŠé©åãªã³ãããã¡ãã»ãŒãžãçæããŠããããããéçºè ã¯ã³ãŒãã®å®è£ ã«éäžã§ããŸããåå¿è ããäžçŽè ãŸã§ããã¹ãŠã®éçºè ã«ãšã£ãŠGitããã身è¿ã§äœ¿ããããããŒã«ã«ãªãã§ãããã
Claude Codeãšã¯
Claude Codeã¯ãAnthropicã®Claudeã¢ãã«ã掻çšããã¿ãŒããã«å°çšã®AIã³ãŒãã£ã³ã°ã¢ã·ã¹ã¿ã³ãã§ãããã©ãŠã¶ãIDEã®æ¡åŒµæ©èœãšã¯ç°ãªããã³ãã³ãã©ã€ã³ããçŽæ¥æäœã§ããç¹ãç¹åŸŽã§ãã
åŸæ¥ã®Gitã³ãã³ãã¯è€éã§èŠãã«ãããã®ãå€ããç¹ã«åå¿è ã«ãšã£ãŠã¯å€§ããªéå£ãšãªã£ãŠããŸãããClaude Codeãªããã倿Žãã³ãããããŠããæ°ãããã©ã³ããäœã£ãŠããšãã£ãèªç¶ãªæ¥æ¬èªã§æäœãæç€ºããã ãã§ãé©åãªGitã³ãã³ããå®è¡ãããŸãã
ãŸããã³ãŒãç·šéã ãã§ãªãããã¡ã€ã«æ€çŽ¢ããã¹ãå®è¡ããããã°æ¯æŽãªã©ãéçºã«å¿ èŠãªæ§ã ãªã¿ã¹ã¯ãçµ±åçã«åŠçã§ãããããéçºã¯ãŒã¯ãããŒãå€§å¹ ã«å¹çåã§ããŸãã
Claude Codeã§Gitãæ±ãã¡ãªãã
ã³ãã³ããèŠããå¿ èŠããªããªã
Gitã«ã¯æ°å€ãã®ã³ãã³ããšãªãã·ã§ã³ãããããã¹ãŠãèŠããã®ã¯å°é£ã§ããClaude Codeãªããã倿Žãã³ãããããŠããæ°ãããã©ã³ããäœã£ãŠããšãã£ãèªç¶èšèªã§æç€ºããã ãã§ãé©åãªGitã³ãã³ããå®è¡ãããŸããè€éãªrebaseãmergeæäœããæå³ãäŒããã ãã§å®è¡å¯èœã§ãã
ã³ãããã¡ãã»ãŒãžãèããå¿ èŠããªããªã
è¯ãã³ãããã¡ãã»ãŒãžãæžãã®ã¯æå€ãšé£ãããæéãããããŸããClaude Codeã¯å€æŽå 容ãåæããŠãé©åãªã³ãããã¡ãã»ãŒãžãèªåçæããŠãããŸãã倿Žã®æå³ã圱é¿ãé©åã«è¡šçŸããã¡ãã»ãŒãžãäœæããããããåŸããå±¥æŽãæ¯ãè¿ãéã«ãçè§£ãããããªããŸãã
äŒè©±ã§Gitã«é¢ããåé¡ã解決ã§ãã
Gitã§åé¡ãçºçããéããšã©ãŒã¡ãã»ãŒãžãèŠãŠãè§£æ±ºæ¹æ³ãããããªãããšããããŸããClaude CodeãªããããŒãžã§ã³ã³ããªã¯ããèµ·ããããééã£ãã³ããããåãæ¶ãããããšãã£ãåé¡ãèªç¶èšèªã§çžè«ã§ãããã®å Žã§è§£æ±ºçãå®è¡ããŠããããŸãã
å©çšäŸ
ã¢ã¯ã·ã§ã³ããšã®å©çšäŸãäŸç€ºããŸãã
add
倿Žãããã¡ã€ã«ãã¹ããŒãžã³ã°ãšãªã¢ã«è¿œå ããæäœã§ããç¹å®ã®ãã¡ã€ã«ã ãã§ãªãããã¹ãŠã®å€æŽãäžåºŠã«è¿œå ããããšãå¯èœã§ãã
Claude Codeãžã®åœä»€æã®äŸ:
ãã¹ãŠã®å€æŽãaddããŠsrc/main.jsãã¹ããŒãžã³ã°ã«è¿œå ããŠå€æŽããããã¡ã€ã«ããã¹ãŠaddããŠ
察å¿ããgitã³ãã³ã:
git add .git add src/main.jsgit add -A
commit
ã¹ããŒãžã³ã°ãšãªã¢ã®å€æŽãã³ãããããŸããClaude Codeã倿Žå 容ãåæããŠé©åãªã³ãããã¡ãã»ãŒãžãèªåçæããŠãããŸãã
Claude Codeãžã®åœä»€æã®äŸ:
倿Žãã³ãããããŠæ°æ©èœè¿œå ã®ã³ããããäœæããŠãã°ä¿®æ£ãã³ãããããŠ
察å¿ããgitã³ãã³ã:
git commit -m "é©åãªã¡ãã»ãŒãž"git commit -m "feat: æ°æ©èœã®è¿œå "git commit -m "fix: ãã°ã®ä¿®æ£"
push
ããŒã«ã«ã®å€æŽããªã¢ãŒããªããžããªã«ããã·ã¥ããŸããååããã·ã¥æã¯äžæµãã©ã³ãã®èšå®ãèªåã§è¡ãããŸãã
Claude Codeãžã®åœä»€æã®äŸ:
倿Žãããã·ã¥ããŠmainãã©ã³ãã«ããã·ã¥ããŠãªã¢ãŒãã«å€æŽãéä¿¡ããŠ
察å¿ããgitã³ãã³ã:
git pushgit push origin maingit push -u origin ãã©ã³ãå
add & commit & push
éçºã§ããè¡ãäžé£ã®æäœãäžåºŠã«å®è¡ã§ããŸãã倿Žã®è¿œå ãã³ããããããã·ã¥ãŸã§ã®æµããèªååã§ãããããéåžžã«å¹ççã§ãã
Claude Codeãžã®åœä»€æã®äŸ:
倿ŽãaddãcommitãpushããŠãã¹ãŠã®å€æŽãã³ãããããŠããã·ã¥ããŠäœæ¥å 容ãä¿åããŠãªã¢ãŒãã«éä¿¡ããŠ
察å¿ããgitã³ãã³ã:
git add . && git commit -m "ã¡ãã»ãŒãž" && git pushgit add -A && git commit -m "ã¡ãã»ãŒãž" && git push- è€æ°ã³ãã³ãã®çµã¿åãã
checkout
ãã©ã³ãã®åãæ¿ããç¹å®ã®ã³ããããžã®ç§»åãè¡ããŸããæ°ãããã©ã³ãã®äœæãšåæã«åãæ¿ããããšãå¯èœã§ãã
Claude Codeãžã®åœä»€æã®äŸ:
developãã©ã³ãã«åãæ¿ããŠfeature/new-buttonãšããæ°ãããã©ã³ããäœã£ãŠåãæ¿ããŠåã®ã³ãããã«æ»ã£ãŠ
察å¿ããgitã³ãã³ã:
git checkout developgit checkout -b feature/new-buttongit checkout HEAD~1
ãã©ã³ãæäœ
ãã©ã³ãã®äœæãåé€ãäžèŠ§è¡šç€ºãªã©ããã©ã³ãã«é¢ããæ§ã ãªæäœãè¡ããŸãã
Claude Codeãžã®åœä»€æã®äŸ:
æ°ãããã©ã³ãfeature/loginãäœæããŠäžèŠãªãã©ã³ããåé€ããŠãã¹ãŠã®ãã©ã³ãã衚瀺ããŠ
察å¿ããgitã³ãã³ã:
git branch feature/logingit branch -d ãã©ã³ãågit branch -a
merge
ä»ã®ãã©ã³ãã®å€æŽãçŸåšã®ãã©ã³ãã«çµ±åããŸããã³ã³ããªã¯ããçºçããå Žåã®è§£æ±ºæ¯æŽãåããããŸãã
Claude Codeãžã®åœä»€æã®äŸ:
developãã©ã³ããããŒãžããŠfeature/headerãã©ã³ãã®å€æŽãåã蟌ãã§ããŒãžã³ã³ããªã¯ãã解決ããŠ
察å¿ããgitã³ãã³ã:
git merge developgit merge feature/header- æåã§ã®ã³ã³ããªã¯ã解決 +
git add+git commit
rebase
ã³ãããå±¥æŽãæŽçãããã©ã³ãã®ããŒã¹ãä»ã®ãã©ã³ãã®ææ°ç¶æ ã«å€æŽããŸããè€éãªæäœã§ãããèªç¶èšèªã§æç€ºã§ããŸãã
Claude Codeãžã®åœä»€æã®äŸ:
mainãã©ã³ãã«ãªããŒã¹ããŠã³ãããå±¥æŽãæŽçããŠææ°ã®mainãã©ã³ãã«åãããŠãªããŒã¹ããŠ
察å¿ããgitã³ãã³ã:
git rebase maingit rebase -i HEAD~ngit fetch && git rebase origin/main
å¶éäºé
Claude Codeã§ã¯ã以äžã®æäœãå¶éãããŠããŸãã
ã€ã³ã¿ã©ã¯ãã£ããªã³ãã³ãã¯é察å¿
git rebase -iãgit add -iãªã©ããŠãŒã¶ãŒã®å¯Ÿè©±çãªå
¥åãå¿
èŠãšããã³ãã³ãã¯å®è¡ã§ããŸããããããã®ã³ãã³ãã¯éåžžãšãã£ã¿ãéãããŠãŒã¶ãŒãéžæãç·šéãè¡ãå¿
èŠãããããã§ãã
å¶éãããã³ãã³ãäŸ:
git rebase -i(ã€ã³ã¿ã©ã¯ãã£ããªããŒã¹)git add -i(ã€ã³ã¿ã©ã¯ãã£ãã¹ããŒãžã³ã°)git commit --amend(äžéšã®ã±ãŒã¹)
èšå®å€æŽã¯è¡ããªã
Gitã®èšå®ãã¡ã€ã«ïŒ.gitconfigïŒã®å€æŽã¯è¡ããŸããããŠãŒã¶ãŒåãã¡ãŒã«ã¢ãã¬ã¹ãªã©ã®èšå®ã¯äºåã«è¡ã£ãŠããå¿
èŠããããŸãã
å¶éãããæäœ:
git config user.name "åå"git config user.email "email@example.com"- ãã®ä»ã®Gitèšå®ã®å€æŽ
æ éãªãªã¢ãŒãæäœ
ã»ãã¥ãªãã£ãšããŒã¿ä¿è·ã®èгç¹ããããªã¢ãŒããªããžããªãžã®æäœã¯æ éã«è¡ãããŸãã
å¶éãããåäœ:
- æç€ºçã«èŠæ±ãããªãéãèªåçãªããã·ã¥ã¯è¡ããªã
- 匷å¶ããã·ã¥ïŒ
git push --forceïŒã¯ç¹ã«æ éã«æ±ã - ãªã¢ãŒããã©ã³ãã®åé€ã¯æç¢ºãªæç€ºãå¿ èŠ
ãã®ä»ã®æ³šæäºé
- 倧ããªãã¡ã€ã«ããã€ããªãã¡ã€ã«ã®æäœã«ã¯æéããããå ŽåããããŸã
- è€éãªããŒãžã³ã³ããªã¯ãã®è§£æ±ºã¯ãClaude Codeãæ¯æŽããŸããæçµçãªå€æã¯ãŠãŒã¶ãŒãè¡ãå¿ èŠããããŸã
- Git LFSãäžéšã®Gitæ¡åŒµæ©èœã¯å®å šã«ãµããŒããããŠããªãå ŽåããããŸã
ãŸãšã
Claude Codeã¯Gitæäœãåçã«ç°¡åã«ãã驿°çãªããŒã«ã§ããè€éãªã³ãã³ããèŠããå¿ èŠããªããèªç¶ãªæ¥æ¬èªã§æç€ºããã ãã§é©åãªGitæäœãå®è¡ãããŸãã
Claude Codeã§Gitã䜿ãäž»ãªã¡ãªãã:
- åŠç¿ã³ã¹ãã®åæž: ã³ãã³ããåŒæ°ãèŠããå¿ èŠããªã
- æéã®ç¯çŽ: ã³ãããã¡ãã»ãŒãžã®èªåçæã§äœæ¥å¹çã¢ãã
- ãšã©ãŒã®è»œæž: é©åãªã³ãã³ããèªåéžæããŠããã
- åé¡è§£æ±ºã®æ¯æŽ: Gité¢é£ã®åé¡ãäŒè©±ã§è§£æ±ºã§ãã
äžæ¹ã§ãã€ã³ã¿ã©ã¯ãã£ããªã³ãã³ãã«ã¯å¯Ÿå¿ããŠããªããªã©ã®å¶éããããŸãããæ¥åžžçãªGitæäœã®å€§éšåãã«ããŒã§ããŸãã
Claude CodeãæŽ»çšããããšã§ãGitæäœã®å¿ççããŒãã«ãäžãããããç©æ¥µçã«ããŒãžã§ã³ç®¡çãæŽ»çšã§ããããã«ãªããŸããç¹ã«Gitåå¿è ã«ãšã£ãŠã¯ãåŠç¿ã®å ¥ãå£ãšããŠéåžžã«æå¹ãªããŒã«ã§ãã
ãã²Claude Codeã§Gitããã身è¿ã§äœ¿ããããããŒã«ã«ããŠãéçºå¹çãåäžãããŠãã ããã

