Community

๐Ÿ“‚ .git ํด๋”์—๋Š” ๋ฌด์—‡์ด ์žˆ๋‚˜์š”?

์˜ค๋Š˜๋‚  ๋Œ€๋ถ€๋ถ„์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ git ์€ ๋นผ๋†“์„ ์ˆ˜ ์—†๋Š” ํ˜•์ƒ ๊ด€๋ฆฌ ๋„๊ตฌ๋กœ ์ž๋ฆฌ์žกํ˜€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ git ์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ 'git init' ๋ช…๋ น์–ด๋กœ ์ƒ์„ฑ๋˜๋Š” '.git' ํด๋” ํ•˜์œ„์˜ ๋ฐ์ดํ„ฐ ๋ณ€ํ™”๋ฅผ ์ž์„ธํžˆ ๋ถ„์„ํ•˜์—ฌ ์„ค๋ช…ํ•œ ๊ธ€์ด ์žˆ์–ด ๊ณต์œ ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ธ€์—์„œ ์ฃผ์š”ํ•˜๊ฒŒ ์–ธ๊ธ‰๋œ '.git' ํด๋” ํ•˜์œ„์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์—ญํ• ์„ ์ •๋ฆฌํ•ด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๐Ÿ“Œ config ํ˜„์žฌ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ git ์„ค์ •์„ ์ •๋ฆฌํ•œ ํ…์ŠคํŠธ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ž‘์„ฑ์ž, ํŒŒ์ผ ๋ชจ๋“œ ๋“ฑ๊ณผ ๊ฐ™์€ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ๋ณธ ์„ค์ •์ด ์ž‘์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ“Œ HEAD ์ €์žฅ์†Œ์˜ ํ˜„์žฌ ํ—ค๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. base branch ์„ค์ •์„ ์–ด๋–ป๊ฒŒ ํ–ˆ๋А๋ƒ์— ๋”ฐ๋ผ ์ฒ˜์Œ ์ƒ์„ฑ๋˜๋Š” HEAD ํŒŒ์ผ์€ refs/heads/master ๋˜๋Š” refs/heads/main ๋˜๋Š” ๊ธฐํƒ€ ์„ค์ •ํ•œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์ €์žฅ์†Œ๊ฐ€ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ๋Š” ํ—ค๋“œ๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋„๋ก .git/refs/heads ํด๋”์˜ ๊ฒฝ๋กœ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ“Œ hooks git ๋™์ž‘ ์ „ํ›„์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ ์ž…๋‹ˆ๋‹ค. ๐Ÿ“Œ objects git object, ์ฆ‰ ์ €์žฅ์†Œ์˜ ํŒŒ์ผ๊ณผ ์ปค๋ฐ‹์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ ์ž…๋‹ˆ๋‹ค. ๐Ÿ“Œ refs HEAD ํŒŒ์ผ์—์„œ๋„ ์ž ์‹œ ์–ธ๊ธ‰๋˜์—ˆ์ง€๋งŒ, ๋ธŒ๋žœ์น˜(.git/refs/heads)์™€ ํƒœ๊ทธ(.git/refs/tags)๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ ๋˜๋Š” ํฌ์ธํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ ์ž…๋‹ˆ๋‹ค. ๊ณต์œ ๋“œ๋ฆฐ ์›๋ฌธ์— git command ์— ๋”ฐ๋ผ .git ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ณ€ํ™”๋ฅผ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์œผ๋‹ˆ ๊ด€์‹ฌ์žˆ์œผ์‹  ๋ถ„๋“ค๊ป˜์„œ๋Š” ํ•œ๋ฒˆ ์ฝ์–ด๋ณด์‹œ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ“š ์›๋ฌธ https://blog.meain.io/2023/what-is-in-dot-git/ ๐Ÿ“š ํ•จ๊ป˜ ๋ณด๋ฉด ์ข‹์€ ๊ธ€ * ๐Ÿ“บ ๋งŒํ™”๋กœ ๋ณด๋Š” GIT ํƒ„์ƒ ์ด์•ผ๊ธฐ: https://careerly.co.kr/comments/68908?utm_campaign=self-share * git hooks ๋™์ž‘๋ฐฉ์‹: https://blog.meain.io/2019/making-sure-you-wont-commit-conflict-markers/

์•Œ๋ฆผ

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