Community

๐Ÿ—‘๏ธ 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" ```

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค