Alert
์ด ๊ธ์ Claude Code์ ๋์์ ๋ฐ์ ์์ฑ๋์์ต๋๋ค
TL;DR
hunk์ ํฐ๋ฏธ๋์์ diff๋ฅผ GitHub์ฒ๋ผ ๋ณด์ฌ์ฃผ๋ ์ฝ๋ ๋ฆฌ๋ทฐ TUI โ Sentry ๊ณต๋์ฐฝ์ ์ Ben Vinegar ์ ์- syntax highlighting, side-by-side/stacked ๋ทฐ, vim ๋ชจ์ , ๋ผ์ธ ๋จ์ ๋ ธํธ(์ฝ๋ฉํธ) ์ ๊ณต
- ํต์ฌ์ AI ์์ด์ ํธ๊ฐ ์ฝ๋์ ์ฝ๋ฉํธ๋ฅผ ๋จ๊ธฐ๋ ์ํฌํ๋ก โ ์ฌ๋ ๋ ธํธ์ ์์ด์ ํธ ๋ ธํธ๊ฐ ๋๋ํ ํ์
- git๊ณผ Jujutsu(jj)๋ฅผ ๋ ๋ค first-class๋ก ์ง์, ํ์ง๋ง ์ธ์ ์ด ๋๋๋ฉด ์ฝ๋ฉํธ๊ฐ ํ๋ฐ๋ผ ํ์ ๊ณต์ ๋ ์ฝํจ
Source
์ ๋ฆฌ
์์์ง๋ PR์ ํฐ๋ฏธ๋์์ ์ ๋๋ก ๋ฆฌ๋ทฐํ์๊ณ ๋ง๋ ๋๊ตฌ๋ค. DevOps Toolbox๊ฐ ์๊ฐํ hunk์ Sentry ๊ณต๋์ฐฝ์
์์๋ Ben Vinegar๊ฐ ๋ง๋ค์๋๋ฐ, Ghostty๋ก ์ ๋ช
ํ Mitchell Hashimoto๊ฐ ์ ์ฉํ๋ค๊ณ ์๋ ค์ง๋ฉฐ ์ฃผ๋ชฉ๋ฐ์๋ค. ๋ฐํ์ OpenTUI(OpenCode๋ฅผ ๋ง๋ Anomaly์ ํ๋ ์์ํฌ)๋ค.
git diff๋ฅผ ์์๊ฒ ๋ณด์ฌ์ฃผ๋ ๋๊ตฌ์ผ ์ด๋ฏธ ๋ง๋ค. diff-so-fancy, Rust๋ก ๋ง๋ delta, delta ์์ TUI๋ฅผ ์น์ diffnav๊ฐ ๊ทธ๋ฐ ๊ณ๋ณด๋ค. hunk์ ๋จ์ diff ๋ทฐ์ด์์ ํ๋ฐ ๋ ๋๊ฐ ๋ฆฌ๋ทฐ ์ํฌํ๋ก ์์ฒด๋ฅผ ๋
ธ๋ฆฐ๋ค๋ ์ ์ด ๋ค๋ฅด๋ค.
์ค์น์ ๊ธฐ๋ณธ ๋ช ๋ น์ ๊ฐ๋จํ๋ค.
brew install hunk # ๋๋ npm
hunk show # ๋ง์ง๋ง ์ปค๋ฐ์ diff
hunk diff # ์์ง ์ปค๋ฐ ์ ๋ working ๋ณ๊ฒฝ
hunk session # ๋ฐฑ๊ทธ๋ผ์ด๋ ์๋ฒ โ ์์ด์ ํธ๊ฐ ๋ถ๋ ์ฉ๋
hunk stash show # stash ์คํ์ ๋ณ๊ฒฝ ํ์ธ์ฃผ์ ๊ธฐ๋ฅ์ ์ ๋ฆฌํ๋ฉด ์ด๋ ๋ค.
- ๋ทฐ: GitHub ์คํ์ผ syntax highlighting, stacked / side-by-side ํ ๊ธ, ํ์ผ๋ณ +/- ๋ผ์ธ ์, ํ ๋ง ์ง์
- ๋ชจ์
:
Ctrl+D/U์คํฌ๋กค,[ ]hunk ์ด๋,gg/G,hjkl๋ฑ vim ํค๋งต ๊ทธ๋๋ก - ๋
ธํธ: ๋ผ์ธ ์
+๋ก GitHub ์ฝ๋ฉํธ ๊ฐ์ ๋ฉ๋ชจ๋ฅผ ๋จ๊น.{ }๋ก ๋ ธํธ ๊ฐ ์ด๋. ๋จ git์ ๊ธฐ๋ก๋์ง ์๊ณ ์ธ์ ํ์ ์ด๋ผ ๋๋๋ฉด ์ฌ๋ผ์ง - AI ๋
ธํธ:
hunk session์ด ์์ ์๋ฒ๋ฅผ ๋์ฐ๋ฉด ์ฝ๋ฉ ์์ด์ ํธ๊ฐ diff๋ฅผ ์ฝ๊ณ ์ฝ๋์ ์ฝ๋ฉํธ๋ฅผ ๋จ๋ค. ์ฌ๋์ด ๋จ ๋ ธํธ์ ์์ด์ ํธ ๋ ธํธ๊ฐ ์ฌ์ด๋๋ฐ(S)์ ์์ผ๋ก ๊ตฌ๋ถ๋ผ ํจ๊ป ๋ณด์ธ๋ค - VCS: git๋ฟ ์๋๋ผ Jujutsu(jj)๋ first-class ์ง์ โ Mitchell Hashimoto๊ฐ ์ข์ํ๋ ์ด์
- ์ค์ :
~/.config/hunk์๋ TOML๋ก VCSยท๋ทฐยทํ ๋งยท๋ผ์ธ๋ฒํธยท๋ ธํธ ๊ธฐ๋ณธ๊ฐ ์ง์
ํ๊ณ๋ ๋ถ๋ช
ํ๋ค. TUI ๊ฒฝํ์ ์ข์ง๋ง ํ์
์๋ ์ฝํ๋ค. ์ฝ๋ฉํธ๊ฐ GitHub ์ฝ๋ฉํธ์ ๋๊ธฐํ๋์ง ์๊ณ ์ธ์
๋ ๊ณต์ ํ ์ ์๋ค. ๋ฆฌ๋ทฐ๊ฐ ๋๋๋ฉด ๋
ธํธ๋ ๊ทธ๋ฅ ์ฆ๋ฐํ๋ค. ํผ์, ํน์ ์์ด์ ํธ์ ํจ๊ป ๋ก์ปฌ์์ ๋น ๋ฅด๊ฒ ํ์ด๋ณด๋ ์ฉ๋์๋ ๋ง์ง๋ง ํ ๋ฆฌ๋ทฐ๋ฅผ ๋์ฒดํ๊ธฐ์ ์์ง ๊ฐ ๊ธธ์ด ๋ฉ๋ค. GitHub ์ฝ๋ฉํธ๋ฅผ ํฐ๋ฏธ๋๋ก ๋ค๋ฃจ๋ gh-dash ๊ณ์ด๊ณผ๋ ๋
ธ๋ฆฌ๋ ์ง์ ๋ถํฐ ๋ค๋ฅด๋ค.