Programming/Git (2) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Git Hook] pre commit ์ผ๋ก ์ฅ์ ์๋ฐฉํ๊ธฐ(ft. husky, osascript) d์ต์ ์ด์ ์ค์ธ ์ฑ์์ ํน์ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ค ์ฅ์ ๊ฐ ๋ฌ์๋ค. ์ผ๋ถ ์๋น์ค์์ ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ ๋ฉ์๋๊ฐ ์์๋๋ฐ, ํ๊ฒฝ์ด ๋ถ์ฐ๋๊ณ ๋ณต์กํ๋ค๋ณด๋ ๊ฐ๋ฐ์๊ฐ ํ ์คํธ๋ฅผ ๋์น ์ผ์ด์ค์์๋ค. ์ด ๋ถ๋ถ์ ๊ฐ์ ํ๊ณ ๋น์ทํ ์ฅ์ ๋ฅผ ์๋ฐฉํ๊ธฐ ์ํด์ pre commit rule์ ์ถ๊ฐํด์ ํน์ ํค์๋๊ฐ ์์ค์ ์ถ๊ฐ๋๋ฉด ์๋ด๋ฅผ ์ํ ํ์ ์ ๋์ฐ๊ฒ ํ๋ค. ๐ค ํ๊ฒฝ๊ฐ๋ฐํ์ ํ๊ฒฝ์ Mac์ ์ฌ์ฉํ๊ณ ์๊ณ Husky plugin์ด ์ค์น๋์ด ์์๋ค. git์ ๊ฐ๋ฐ์๊ฐ commit์ ์ํํ๋ฉด, commit ์ด ์ํ๋๊ธฐ ์ ์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํ๋๊ฒ๋ํ๋ pre-commit ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.๋ฐฉ๋ฒ์ ํ๋ก์ ํธ์ .git/ ํ์์ "pre-commit"์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ฉด ๋๋ค.ํ์ง๋ง, git์์ ์ ๊ณตํ๋ pre-commit์ ๊ฒฝ์ฐ, ๊ฐ์ธ ๋ก์ปฌ.. ๊นํ ํน์ ๋ธ๋์น ํด๋ก ํ๊ธฐ / github branch clone ํ์ผ๋ก ์งํ๋์๋ ํ๋ก์ ํธ์์ ์์ ์ ๋ธ๋์น ๊ฐ์ ธ์ฌ ๋, ์ฌ์ฉํ๊ธฐ ์ข์ต๋๋ค. ๐ ํน์ branch cloneํ๊ธฐ git clone -b [๋ธ๋์น ์ด๋ฆ] --single-branch [๋ฆฌํฌ์งํ ๋ฆฌ ์ฃผ์] ๋ฆฌํฌ์งํ ๋ฆฌ ์ฃผ์๋ HTTPS, SSH ์ฃผ์ ๋ชจ๋ ๊ฐ๋ฅ ํฉ๋๋ค. ์์ git clone -b space_jin --single-branch https://github.com/space-team/toy-proj space-team ๊นํ์ toy-proj ๋ฆฌํฌ์งํ ๋ฆฌ์ space_jin ๋ธ๋์น๋ง ํด๋ก ํฉ๋๋ค. ์ด์ 1 ๋ค์