Git 2.28์˜ ์ƒˆ ๋ฒ„์ „, ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— "๋งˆ์Šคํ„ฐ"๋ผ๋Š” ์ด๋ฆ„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ

์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ถ„์‚ฐ ์†Œ์Šค ์ œ์–ด ์‹œ์Šคํ…œ ์ถœ์‹œ ํž˜๋‚ด 2.28.0. Git์€ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๊ณ  ์•ˆ์ •์ ์ธ ๊ณ ์„ฑ๋Šฅ ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ ์ค‘ ํ•˜๋‚˜๋กœ ๋ถ„๊ธฐ ๋ฐ ๋ณ‘ํ•ฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์œ ์—ฐํ•œ ๋น„์„ ํ˜• ๊ฐœ๋ฐœ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ก์˜ ๋ฌด๊ฒฐ์„ฑ๊ณผ ์†Œ๊ธ‰ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์ €ํ•ญ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ์ปค๋ฐ‹์—์„œ ์ „์ฒด ์ด์ „ ๊ธฐ๋ก์˜ ์•”์‹œ์  ํ•ด์‹ฑ์ด ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ฐœ๋ฐœ์ž์˜ ๋””์ง€ํ„ธ ์„œ๋ช…์œผ๋กœ ๊ฐœ๋ณ„ ํƒœ๊ทธ์™€ ์ปค๋ฐ‹์„ ์ธ์ฆํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ด์ „ ๋ฒ„์ „์— ๋น„ํ•ด ์ƒˆ ๋ฒ„์ „์—๋Š” 317๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฐธ์—ฌํ•˜์—ฌ 58๊ฐœ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์—ˆ์œผ๋ฉฐ, ์ด ์ค‘ 13๋ช…์ด ์ฒ˜์Œ์œผ๋กœ ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์ดˆ์ ์ธ ํ˜์‹ :

  • ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ๋ถ„๊ธฐ์˜ ์ž„์˜ ์ด๋ฆ„์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” init.defaultBranch ์„ค์ •์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์„ค์ •์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋…ธ์˜ˆ ์ œ๋„์— ๋Œ€ํ•œ ๊ธฐ์–ต์— ์‚ฌ๋กœ์žกํ˜€ ์žˆ๊ณ  "๋งˆ์Šคํ„ฐ"๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ๊ณต๊ฒฉ์ ์ธ ํžŒํŠธ๋กœ ์ธ์‹๋˜๊ฑฐ๋‚˜ ์ •์‹ ์  ๊ณ ํ†ต๊ณผ ๊ตฌ์†ํ•  ์ˆ˜ ์—†๋Š” ์ฃ„์ฑ…๊ฐ์„ ๋ถˆ๋Ÿฌ์ผ์œผํ‚ค๋Š” ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. GitHub์˜, GitLab ะธ ๋น„ํŠธ ๋ฒ„์ผ“ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— "๋งˆ์Šคํ„ฐ"๋ผ๋Š” ๋‹จ์–ด ๋Œ€์‹  "๋ฉ”์ธ"์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Git์—์„œ๋Š” "git init" ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ "master" ๋ธŒ๋žœ์น˜๊ฐ€ ๊ณ„์† ์ƒ์„ฑ๋˜์ง€๋งŒ ์ด์ œ ์ด ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ดˆ๊ธฐ ๋ถ„๊ธฐ์˜ ์ด๋ฆ„์„ "main"์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    git config --global init.defaultBranch ๋ฉ”์ธ

  • ์ปค๋ฐ‹ ์ •๋ณด์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ปค๋ฐ‹ ๊ทธ๋ž˜ํ”„ ํŒŒ์ผ ํ˜•์‹์˜ ๋ชจ์–‘์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ฃธ ํ•„ํ„ฐ, ๋ˆ„๋ฝ๋œ ์š”์†Œ์— ๋Œ€ํ•œ ํ—ˆ์œ„ ์‹๋ณ„์„ ํ—ˆ์šฉํ•˜์ง€๋งŒ ๊ธฐ์กด ์š”์†Œ์˜ ๋ˆ„๋ฝ์€ ์ œ์™ธํ•˜๋Š” ํ™•๋ฅ ์  ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ง€์ •๋œ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด "git log - ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ณ€๊ฒฝ ๊ธฐ๋ก ๊ฒ€์ƒ‰ ์†๋„๋ฅผ ํฌ๊ฒŒ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. " ๋˜๋Š” "git ๋น„๋‚œ".
  • "git status" ๋ช…๋ น์€ ๋ถ€๋ถ„ ๋ณต์ œ ์ž‘์—…(sparse-checkout)์˜ ์ง„ํ–‰ ์ƒํ™ฉ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • "diff" ๋ช…๋ น ๊ณ„์—ด์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด ์„ค์ • "diff.relative"๊ฐ€ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์ œ "git fsck"๋ฅผ ํ†ตํ•ด ํ™•์ธํ•  ๋•Œ ๊ฐœ์ฒด ํŠธ๋ฆฌ์˜ ์ •๋ ฌ์ด ํ‰๊ฐ€๋˜๊ณ  ์ •๋ ฌ๋˜์ง€ ์•Š์€ ์š”์†Œ๊ฐ€ ์‹๋ณ„๋ฉ๋‹ˆ๋‹ค.
  • ์ถ”์  ์ถœ๋ ฅ์˜ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํŽธ์ง‘ํ•˜๊ธฐ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋‹จ์ˆœํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • "git switch" ๋ช…๋ น์— ๋Œ€ํ•œ ์™„๋ฃŒ ์˜ต์…˜ ์ง€์›์ด ์ž…๋ ฅ ์™„๋ฃŒ ์Šคํฌ๋ฆฝํŠธ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • "git diff"๋Š” ์ด์ œ ๋‹ค์–‘ํ•œ ํ‘œ๊ธฐ๋ฒ•("git diff A..BC", "git diff A..BC...D" ๋“ฑ)์œผ๋กœ ์ธ์ˆ˜ ์ „๋‹ฌ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ์ถœ๋ ฅ์„ ๋” ๋””๋ฒ„๊น…ํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด "git fast-export --anonymize" ๋ช…๋ น์— ์‚ฌ์šฉ์ž ์ •์˜ ์š”์†Œ ๋งคํ•‘์„ ์ง€์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • "git gui"๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ดˆ๊ธฐ ๋Œ€ํ™” ์ƒ์ž์—์„œ ์ž‘์—… ํŠธ๋ฆฌ๋ฅผ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • "๊ฐ€์ ธ์˜ค๊ธฐ/๋ณต์ œ" ํ”„๋กœํ† ์ฝœ์€ ์ „์†ก๋œ ํŒจํ‚น๋œ ๊ฐ์ฒด ๋ฐ์ดํ„ฐ ์™ธ์— ๋ฏธ๋ฆฌ ์ค€๋น„๋œ ํŒฉ ํŒŒ์ผ์„ ๋กœ๋“œํ•ด์•ผ ํ•จ์„ ํด๋ผ์ด์–ธํŠธ์— ์•Œ๋ฆฌ๋Š” ๊ธฐ๋Šฅ์„ ์„œ๋ฒ„์—์„œ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • SHA-256 ๋Œ€์‹  SHA-1 ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ์ž‘์—…์ด ๊ณ„์†๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€