git-wt ãå°å ¥ããã®ã§ãã¡ã¢ã¨ãã¦å°å ¥ãã°ãè¨ãã¦ããã
å°å ¥åæ©
Agentic Coding ã«ãã£ã¦ã«ããã«èå
ãæµ´ã³ã¦ãã git worktree ã ããã©ãå®éã®ã¨ããã¯ã¼ã¯ããªã¼ãã£ã¬ã¯ããªã©ãã«ç½®ãã®ï¼ã¨ãã£ã話ãªã©ã¡ãã£ã¨ããæ·å±
ããããç¹ã« ghq ã¦ã¼ã¶ã¼ã«ã¨ã£ã¦ã¯ãghq root (e.g, ~/src, ~/ghq) ã®ãã£ã¬ã¯ããªã®ç´ä¸ã«ã¯ã¼ã¯ããªã¼ãç½®ããããªéç¨ã ã¨ãããã«ã管çããã¥ããã®ã§ã©ããããã¨ããåé¡ããã£ãã
ä»å songmu ããã«ãã以ä¸ã®ç¥æ©è½ãå ¥ã£ãã¨ãããã¨ã§ãå人çã«ã¯ git-wt ãé¡§å®¢ãæ¬å½ã«æ±ãã¦ãããã®ã«ãªã£ãã®ã§å°å ¥ãããã¨ã«ããã
æ£ç´ ghq root ç´ä¸ã«ãªãã¸ããªã¨ä¸¦ãã§ã¯ã¼ã¯ããªã¼ãã£ã¬ã¯ããªãããã¨ãçç±ãã£ã¦ã¯ã¼ã¯ããªã¼ãã£ã¬ã¯ããªãåé¤ããæã«ããªããã©ãã©ãããã¨ã«ãªããééã£ãã .git ãã£ã¬ã¯ããªãã¨ãªãã¸ããªãæ¶ããã¨ã«ãªãã®ã§å£æ»
çãªææã被ããã¨ã«ãªã (æã«æ±æ¡ã) ãã¯ã¼ã¯ããªã¼ãã£ã¬ã¯ããªãããªãã¸ããªé
ä¸ã®ç®¡çã«ãªãã¨ãªãã¸ããªã®ã«ã¼ããã£ã¬ã¯ããªã«ç§»åã㦠rm -rf .worktrees ãªã©ããã°è¯ãã®ã§ãããªãç²¾ç¥çã«æ¥½ã
ãããããªãã¸ããªé ä¸ã«ããã¨ãªãã¨ããã¯ããã§ä¸æéé¢åã ãªã¨ããã®ããã£ãã®ã解決ããã®ãä¸è¨ã® PR ã§ãããã¯å®å ¨ã«ã¢ã¤ãã¢ã®åå©ã¨ããããæ¬å½ã«ãããã¨ããããã¾ãã¨ãããã®ã ã£ããsongmu ããã¯ããã人ã
èªåçã«ã¯ããã§ã¯ã¼ã¯ããªã¼ãã£ã¬ã¯ããªãã©ãã«ç½®ããåé¡ã«çµæ¢ç¬¦ãæãããã¨æã£ã¦ãã¦ãpeco ãªã©ã® ghq root ããã®ãªãã¸ããªé¸æã®ãã£ã«ã¿ãªã³ã°ãã¼ã«ã«ãã¯ã¼ã¯ããªã¼ãã£ã¬ã¯ããªãå
¥ããªããããããã¨ãããªããgit-wt ã§ã¯ããã®ãããªä½ç½®ã«ã¯ã¼ã¯ããªã¼ãã£ã¬ã¯ããªã®ããã©ã«ãã夿´ããããã¨ããåããããã®ã§ãæè¦ã®ãã人ã¯ã³ã¡ã³ãããã¦ã¿ãã¨è¯ãã¨æãã
å°å ¥ãã°
ghq + zsh + peco ã使ã£ã¦ããèªåã®è¨å®æé ãæ¸ãã¦ããããªããåºæ¬ã¯ git-wt ã® README ã«å¾ãã°ã欲ããæ å ±ã¯è¨ããã¦ããã¨æãã¾ãã
ã¤ã³ã¹ãã¼ã«
ãããå®å®çãé¸ã¶çç±ãç¾æç¹ã§ãªãã£ãã®ã§ãç§ã¯ææ°ãåå¾ãã¦ãã¾ããã好ã¿ã§ã
$ go install github.com/k1LoW/git-wt@latest
è¨å®
ã¾ããèªåã¯ã¯ã¼ã¯ããªã¼ãã£ã¬ã¯ããªã¯ .worktrees ã¨ããååã§~/.gitconfig ã¸ã®ã°ãã¼ãã«è¨å®ãããã¨ã«ããããªãã¸ããªã«ã¼ãç´ä¸ã«ç½®ãã¯ã¼ã¯ããªã¼ãã£ã¬ã¯ããªå㯠.wt ã¨ããã®ã git-wt ããã®é¨åå¼ç¨å½åã§ããã£ã½ããããã®ã®ãã±ã£ã¨è¦ã§ãããããããçã£ã¦ãããã³ã³ããªã¯ãããããã®ã¨ãèããããªããã®ãããã¯ä¸è¿°ã®ã¤ã·ã¥ã¼ãåèã«ãªãã¨æãã
$ git config --global wt.basedir ".worktrees"
次ã«ã~/.zshrc ãããã¯ããããèªã¿è¾¼ã¾ãããã¡ã¤ã«ã«ä»¥ä¸ã追å ããã
eval "$(git wt --init zsh)"
æå¾ã« peco ã使ã£ããã£ã«ã¿ãªã³ã°ã wt ã³ãã³ãã¨ãã¦ã§ããããã«ä»¥ä¸ãè¨å®ããã
wt() {
git wt "$(git wt | tail -n +2 | peco | awk '{print $(NF-1)}')"
}
ãããªæãã§ãgit wt branch_name ã¨ããã¨è¯ãæãã«åãããã«ãªããåé¤æã¯ git wt -d branch_name ããã㯠git wt -D branch_name ã使ãã
Agentic Coding ã§ä¸¦è¡ä½æ¥ããéã«ãåä¸ãªãã¸ããªã§ä½æ¥ã被ã£ãéã«ãgit worktree ã®ç´°ã
ãé¢åãªã®ã§å¥ã®ãªãã¸ããªã®ä½æ¥ã§ããã£ã¦ãããã¨ããéç¨ã§ã«ãã¼ã¸ã®è¯ãã«ã¦ã³ã¿ã¼ã«ãªã£ãã
songmu ãããã¡ã³ããã³ã¹ãã¦ãã ghq ã¨ãk1LoW ãããä½ã£ã¦ãã git-wt ã®ã³ã©ãã¬ã¼ã·ã§ã³ã¯ OSS ã®ãã¼ããã«ãªç¸äºä½ç¨ã§è¦ã¦ãã¦é¢ç½ãã£ãã§ããç´ æµãªã»ã³ã¹ã®åä½ããããã¨ããããã¾ãï¼
ghqãããã©ã«ããã£ã¬ã¯ããªã®å ´æå¤æ´ããã®ã§ã©ããã§ãã£ã¦ãã¾ã£ã¦ãè¯ãããããã¾ããã
— songmu (@songmu) 2026å¹´1æ22æ¥
ããã©ã«ãè¨å®ã¯ãä½è ã使ã£ã¦ããè¨å®ãã§ãã£ãæ¹ãå©ç¨è ãä½¿ãæ¹ãæ³åããããã§ãããããããæ°ã¯ãã¾ãã(ãã ãå㯠ghq.root 㯠~/dev/src ã«ãã¦ããã©â¦)https://t.co/hR9QhhD2WQ