๐๏ธ git gone - ๋ฆฌ๋ชจํธ์์ ์ญ์ ๋ ๋ธ๋์น๋ฅผ ๋ก์ปฌ์์๋ ์ ๋ฆฌํ๊ธฐ
- ๋ฆฌ๋ชจํธ์์ ์ญ์ ๋ ๊น ๋ธ๋์น๋ฅผ ๋ก์ปฌ์์ CLI ๋ช ๋ น์ด๋ก ์ฝ๊ฒ ์ ๋ฆฌํด๋ณด์ธ์. --- ๊น์ ์ฐ๋ค๋ณด๋ฉด ๋ค์ํ ์ฉ๋๋ก ๋ธ๋์น๋ฅผ ๋ง๋ค๊ฒ ๋๋๋ฐ์, ์ผ๋ฐ์ ์ผ๋ก ๋ฆฌ๋ชจํธ์์ ๋จธ์ง๊ฐ ๋๊ณ ๋๋ฉด ๋ก์ปฌ์ ๋จ์์๋ ๋ธ๋์น๋ ๋ ์ด์ ์ธ ์ผ์ด ์์ฃ . ๋ฐ๋ผ์ ๋ก์ปฌ์ ๋จ์์๋ ๋ธ๋์น๋ ์ฃผ๊ธฐ์ ์ผ๋ก ์ง์์ค์ผ ํ๋๋ฐ, ํ๋์ฉ ์ง์ฐ๋ ๋์ ํ ๋ฒ์ ์ ๋ฆฌํ ์ ์๋ ๋ช ๋ น์ด๋ฅผ ์๊ฐํ ๊ธ์ ๋๋ค. ์ฐ์ ์ง์์ง ๋ฆฌ๋ชจํธ ๋ธ๋์น ์ ๋ณด๋ฅผ ๊ฐฑ์ ํ๋ `git fetch -p` ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด, ๋ก์ปฌ ๋ธ๋์น๋ค ์ค ํธ๋ํนํ๋ ๋ฆฌ๋ชจํธ ๋ธ๋์น๊ฐ ์ญ์ ๋ ๊ฒฝ์ฐ `[gone]` ์ํ๊ฐ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํด๋น ๋ก์ปฌ ๋ธ๋์น๋ค์ ๋ชจ๋ ์ญ์ ํด์ฃผ๋ฉด ๋ฉ๋๋ค. ๋ง์ฝ ํธ๋ํนํ๋ ์๊ฒฉ ๋ธ๋์น๊ฐ ์๋ค๋ฉด ๋ก์ปฌ ๋ธ๋์น๊ฐ ์ง์์ง์ง ์์ผ๋ ๋ก์ปฌ ๋ธ๋์น๊ฐ ๋ฌ๊ธ์์ด ์ญ์ ๋ ์ผ๋ ์์ต๋๋ค. ๋ณ์นญ(alias)์ ์ด์ฉํด ๋ณ๋ ๋ช ๋ น์ด๋ก ์ ์ฅ๋ ๊ฐ๋ฅํด์ ์ ๋ ๊ฐ์ธ์ ์ผ๋ก ๋งค์ฐ ์ ์ฉํ๊ฒ ์ฐ๊ณ ์์ต๋๋ค. ์๋ ๋ช ๋ น์ด๋ฅผ ํฐ๋ฏธ๋์ ๋ถ์ฌ๋ฃ๊ธฐ๋ง ํ์ธ์! `git gone` ๋ช ๋ น์ด๋ฅผ ๋ฐ๋ก ์ฐ์ค ์ ์์ต๋๋ค. ``` git config --global alias.gone "! git fetch -p && git for-each-ref --format '%(refname:short) %(upstream:track)' | awk '\$2 == \"[gone]\" {print \$1}' | xargs -r git branch -D" ```