๐Ÿฆ– Git ์ด๋ž€ ? SVN VS GIT ์ฐจ์ด

4
post-thumbnail
post-custom-banner

๐Ÿฆ– ํšŒ์‚ฌ์—์„œ๋Š” SVN์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์žŠ๊ธฐ ์ „์— Git ์‚ฌ์šฉ๋ฒ•๋„ ๊ธฐ๋กํ•ด๋‘์ž!

0. SVN ๊ทธ๋ฆฌ๊ณ  GIT


ํ˜•์ƒ๊ด€๋ฆฌ(Version Control Revision Control)ํˆด

  • ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „ ๊ด€๋ฆฌ ํˆด์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.
  • ํ˜•์ƒ๊ด€๋ฆฌ๋Š” ์†Œ์Šค์˜ ๋ณ€ํ™”๋ฅผ ๋Š์ž„์—†์ด ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.
  • ์†Œ์Šค๋ฅผ ๋ฒ„์ „ ๋ณ„๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์„œ ๊ฐœ๋ฐœํ•  ๋•Œ ์‹ค์ˆ˜๋กœ ์†Œ์Šค๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜, ์ˆ˜์ •ํ•˜๊ธฐ ์ด์ „์œผ๋กœ ๋Œ์•„๊ฐ€์•ผ๋˜๋Š” ๊ฒฝ์šฐ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๋Š” ํˆด.
  • ๋˜ํ•œ ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ๋„ ๋ˆ„๊ฐ€ ๋ฌด์—‡์„ ์–ด๋–ป๊ฒŒ ์ˆ˜์ •ํ–ˆ๋Š”์ง€๋„ ์•Œ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ๋ฅผ ๋ณ‘ํ•ฉํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •๋œ ์†Œ์Šค๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ฐ์—๋„ ์“ฐ์ธ๋‹ค.

โ–ถ 0.1 SVN

  • 2000๋…„์— CVS๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์œผ๋ฉฐ ํ˜„์žฌ๊นŒ์ง€ ๋‘๋ฃจ ์‚ฌ์šฉ๋˜๋Š” ํ˜•์ƒ๊ด€๋ฆฌ ํˆด
  • trunk
    ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ€์žฅ ์ค‘์‹ฌ์ด ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ
  • branches
    trunk์—์„œ ๋ป—์–ด์ ธ ๋‚˜์˜จ ๋‚˜๋ญ‡๊ฐ€์ง€๋ฅผ ๋œปํ•จ. ํ”„๋กœ์ ํŠธ ๋‚ด์˜ ์ž‘์€ ํ”„๋กœ์ ํŠธ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ
  • tags
    ๋ฒ„์ „ ๋ณ„๋กœ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ณต๊ฐ„(๋ฒ„์ „ ๋ณ„๋กœ ํƒœ๊ทธ๋ฅผ ๋ถ™์—ฌ์„œ tag ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ๋ณด๊ด€ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ)

โ–ถ 0.2 GIT

  • ๋งค์šฐ ๋น ๋ฅธ ์†๋„์™€ ๋ถ„์‚ฐํ˜• ์ €์žฅ์†Œ. SVN๋ณด๋‹ค ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š” ๋Œ€์‹  ๋‹น์—ฐํžˆ ์ต์ˆ™ํ•ด์ง€๊ธฐ์— ๋” ๋งŽ์€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•จ.
  • SVN์„ ์‚ฌ์šฉํ•˜๋‹ค GIT์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๋ฌด์ฒ™ ํ—ท๊ฐˆ๋ฆฌ๊ณ  ๊ฐœ๋… ์ดํ•ด๊ฐ€ ์ž˜ ๋˜์ง€ ์•Š์•˜์—ˆ๋‹ค.

โ–ถ 0.3 SVN vs GIT ๋น„๊ต

  • ํŠน์ง•

0.3.1 SVN

  • SVN์€ ๋ณดํ†ต ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ๋Šฅ์„ ์™„์„ฑํ•ด๋†“๊ณ  ์†Œ์Šค๋ฅผ ์ค‘์•™ ์ €์žฅ์†Œ์— commit

  • commit์˜ ์ด๋ฏธ ์ž์ฒด๊ฐ€ ์ค‘์•™ ์ €์žฅ์†Œ์— ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ๊ณต๊ฐœํ•œ๋‹ค๋Š” ์˜๋ฏธ.

  • (GIT ๊ณผ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ) ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž์‹ ๋งŒ์˜ version history๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค. (๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— local History๋ฅผ ์ด์šฉํ•˜๊ธด ํ•˜์ง€๋งŒ, ์ผ์‹œ์ ์ด๋‹ค. ๋‚ด๊ฐ€ ๋ช‡์ผ์ „ ๊นŒ์ง€์— ํ•œํ•˜์—ฌ ์ž‘์—…ํ–ˆ๋˜ ๋‚ด์—ญ์„ ํ™•์ธ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๋ฒ„์ „ ๊ด€๋ฆฌ๊ฐ€ ๋˜์ง„ ์•Š๋Š”๋‹ค.)

  • commitํ•œ ๋‚ด์šฉ์— ์‹ค์ˆ˜๊ฐ€ ์žˆ์„ ์‹œ์— ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ฐ”๋กœ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ฒŒ ๋˜๋Š” ๋‹จ์ ๋„ ์žˆ๋‹ค.

0.3.2 GIT

  • (GIT ๊ณผ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ) ๋ฐ˜๋ฉด, git์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž์‹ ๋งŒ์˜ commit history๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ณ , ๊ฐœ๋ฐœ์ž์™€ ์„œ๋ฒ„์˜ ์ €์žฅ์†Œ๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅ.

  • commitํ•œ ๋‚ด์šฉ์— ์‹ค์ˆ˜๊ฐ€ ์žˆ๋”๋ผ๋„ ์ด ๋ฐ”๋กœ ์„œ๋ฒ„์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค

  • ๊ฐœ๋ฐœ์ž๋Š” ๋งˆ์Œ๋Œ€๋กœ commit(push)ํ•˜๋‹ค๊ฐ€ ์ž์‹ ์ด ์›ํ•˜๋Š” ์ˆœ๊ฐ„์— ์„œ๋ฒ„์— ๋ณ€๊ฒฝ ๋‚ด์—ญ(commit history)์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„œ๋ฒ„์˜ ํ†ตํ•ฉ ๊ด€๋ฆฌ์ž๋Š” ๊ด€๋ฆฌ์ž๊ฐ€ ์›ํ•˜๋Š” ์ˆœ๊ฐ„์— ๊ฐ ๊ฐœ๋ฐœ์ž์˜ commit history๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Œ.

์ด๋ ‡๊ฒŒ git์€ ์„œ๋ฒ„ ์ €์žฅ์†Œ์™€ ๊ฐœ๋ฐœ์ž ์ €์žฅ์†Œ๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ commit history๋ฅผ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ์œ ์—ฐํ•œ ๋ฐฉ์‹์œผ๋กœ ์†Œ์Šค๋ฅผ ์šด์˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Ÿฌํ•œ ์œ ์—ฐ์„ฑ์ด git์˜ ๊ฐ€์žฅ ํฐ ์žฅ์ ์ด๋‹ค.

1. Git์ด๋ž€?


1.1 ํ˜•์ƒ ๊ด€๋ฆฌ ๋„๊ตฌ(Configuration Management Tool) ์ค‘ ํ•˜๋‚˜.

  • ์ฐธ๊ณ ๋กœ ํ˜•์ƒ ๊ด€๋ฆฌ ๋„๊ตฌ๋Š” ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.

  • Git์€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ธฐ์—…์˜ ํ•ต์‹ฌ ์ž์‚ฐ์ธ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฌด๋ฃŒ, ๊ณต๊ฐœ์†Œํ”„ํŠธ์›จ์–ด.

  • SVN๋ณด๋‹ค ์—ฌ๋Ÿฌ ์žฅ์ ์ด ์žˆ์–ด SVN์„ ์“ฐ๋˜ ๊ฐœ๋ฐœ ์กฐ์ง๋“ค์€ ํ•˜๋‚˜๋‘˜์”ฉ Git์œผ๋กœ ๊ฐˆ์•„ํƒ€๊ณ  ์žˆ๋‹ค.

1.2 SVN๊ณผ Git์˜ ์ฐจ์ด์ 

  • Git์ด SVN๊ณผ ๋‹ค๋ฅธ ์ ์€ ๋ถ„์‚ฐํ˜• ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

  • SVN : ์ค‘์•™ ์„œ๋ฒ„์— ์†Œ์Šค์ฝ”๋“œ์™€ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณผ ๋‹ฌ๋ฆฌ

    Git : ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ PC์™€ ์ €์žฅ์†Œ์— ๋ถ„์‚ฐํ•ด์„œ ์ €์žฅ

    ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์•™ ์„œ๋ฒ„์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์ปค๋ฐ‹์„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋กœ์ปฌ ์ €์žฅ์†Œ๋“ค์„ ์ด์šฉํ•˜์—ฌ ์ค‘์•™ ์ €์žฅ์†Œ์˜ ๋ณต์›๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ์‚ฌ๋ณธ์„ ๋กœ์ปฌ์—์„œ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— GIT์ด SVN์— ๋น„ํ•ด ํ›จ์”ฌ ๋น ๋ฅด๋‹ค. (SVN์€ ๋ณ€๊ฒฝ ๋กœ๊ทธ ํ•˜๋‚˜ ๋ณด๋Š” ๊ฒƒ๋„ ์ธํ„ฐ๋„ท์„ ๊ฒฝ์œ ํ•ด์•ผ ํ•œ๋‹ค.)

2. Git์˜ ์žฅ์ 

  • ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ํ•„์š” ์—†์ด, ๊ฐ™์€ ํŒŒ์ผ์„ ์—ฌ๋Ÿฌ ๋ช…์ด ๋™์‹œ์— ์ž‘์—…ํ•˜๋Š” ๋ณ‘๋ ฌ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ์ฆ‰ ๋ธŒ๋žœ์น˜๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœํ•œ ๋’ค, ๋ณธ ํ”„๋กœ๊ทธ๋žจ์— ํ•ฉ์น˜๋Š” ๋ฐฉ์‹(Merge)์œผ๋กœ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋ถ„์‚ฐ ๋ฒ„์ „๊ด€๋ฆฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐ๋„ท์ด ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ๊ณณ์—์„œ๋„ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ค‘์•™ ์ €์žฅ์†Œ๊ฐ€ ๋‚ ๋ผ๊ฐ€๋ฒ„๋ ค๋„ ๋‹ค์‹œ ์›์ƒ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํŒ€ ํ”„๋กœ์ ํŠธ๊ฐ€ ์•„๋‹Œ, ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ์ผ์ง€๋ผ๋„ GIT์„ ํ†ตํ•ด ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•˜๋ฉด ์ฒด๊ณ„์ ์ธ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•ด์ง€๊ณ , ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ํŒจ์น˜๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •๋„ ๊ฐ„๋‹จํ•ด์ง‘๋‹ˆ๋‹ค.
    (pull์„ ํ†ตํ•œ ์—…๋ฐ์ดํŠธ, patch ํŒŒ์ผ ๋ฐฐํฌ)

3. Git? Github?


  • Git : ํ˜•์ƒ ๊ด€๋ฆฌ ๋„๊ตฌ(๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ)

  • Github : ํ˜•์ƒ ๊ด€๋ฆฌ ๋„๊ตฌ(๋ฒ„์ „ ๊ด€๋ฆฌ) ์›นํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค

3.1 Git (ํ˜•์ƒ ๊ด€๋ฆฌ ๋„๊ตฌ)

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

3.2 Git ์›น ํ˜ธ์ŠคํŒ… ์‹œ์Šคํ…œ

  • ํ˜‘์—…ํ•˜๊ณ  ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•  ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
  • ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ์ง€์›ํ•˜๋Š” ์›นํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค์˜ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด, push, pull request๊ฐ™์€ ์ด๋ฒคํŠธ์— ๋ฐ˜์‘ํ•˜์—ฌ ์ž๋™์œผ๋กœ ์ž‘์—…(๋ฐฐํฌ ๋“ฑ)์„ ์‹คํ–‰ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

ex) GitHub, GitLab, BitBucket

3.3 Git GUI

  • ๋„ˆ๋ฌด ๋งŽ์€ git ๋ช…๋ น์–ด๋ฅผ ์ž์œ ์ž์žฌ๋กœ ์™ธ์šธ ์ž์‹ ์ด ์—†์„ ๋• GUI๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

ex) GitHub Desktop, SourceTree, GitKraken

โ–ถ 4. ๊ด€๋ จ ์šฉ์–ด๋“ค


  • Repository : ์ €์žฅ์†Œ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ์ €์žฅ์†Œ๋Š” ํžˆ์Šคํ† ๋ฆฌ, ํƒœ๊ทธ, ์†Œ์Šค์˜ ๊ฐ€์ง€์น˜๊ธฐ ํ˜น์€ branch์— ๋”ฐ๋ผ ๋ฒ„์ „์„ ์ €์žฅํ•œ๋‹ค. ์ €์žฅ์†Œ๋ฅผ ํ†ตํ•ด ์ž‘์—…์ž๊ฐ€ ๋ณ€๊ฒฝํ•œ ๋ชจ๋“  ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Working Tree : ์ €์žฅ์†Œ๋ฅผ ์–ด๋Š ํ•œ ์‹œ์ ์„ ๋ฐ”๋ผ๋ณด๋Š” ์ž‘์—…์ž์˜ ํ˜„์žฌ ์‹œ์ .

  • Staging Area : ์ €์žฅ์†Œ์— ์ปค๋ฐ‹ํ•˜๊ธฐ ์ „์— ์ปค๋ฐ‹์„ ์ค€๋น„ํ•˜๋Š” ์œ„์น˜.

  • Commit : ํ˜„์žฌ ๋ณ€๊ฒฝ๋œ ์ž‘์—… ์ƒํƒœ๋ฅผ ์ ๊ฒ€์„ ๋งˆ์น˜๋ฉด ํ™•์ •ํ•˜๊ณ  ์ €์žฅ์†Œ์— ์ €์žฅํ•˜๋Š” ์ž‘์—….

  • Head : ํ˜„์žฌ ์ž‘์—…์ค‘์ธ Branch๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

  • Branch : ๊ฐ€์ง€ ๋˜๋Š” ๋ถ„๊ธฐ์ ์„ ์˜๋ฏธํ•˜๋ฉฐ, ์ž‘์—…์„ ํ• ๋•Œ์— ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ Branch์—์„œ ์ž‘์—…์„ ํ•œ ํ›„์— ์™„์ „ํ•˜๋‹ค ์‹ถ์„๋•Œ Merge๋ฅผ ํ•˜์—ฌ ์ž‘์—…์„ ํ•œ๋‹ค.

  • Merge : ๋‹ค๋ฅธ Branch์˜ ๋‚ด์šฉ์„ ํ˜„์žฌ Branch๋กœ ๊ฐ€์ ธ์™€ ํ•ฉ์น˜๋Š” ์ž‘์—…์„ ์˜๋ฏธํ•œ๋‹ค.

โ–ถ 5. Git ์‚ฌ์šฉํ•˜๊ธฐ ๊ธฐ์ดˆ ์šฉ์–ด


git init : ๋ฒ„์ „๊ด€๋ฆฌ ํ•˜๊ณ ์‹ถ์€ ํด๋”์—์„œ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜๋Š” ์ค€๋น„

git branch

  • ๋…๋ฆฝ์ ์ธ ๊ณต๊ฐ„์„ ๋งŒ๋“ ๋‹ค.

  • ์ƒˆ๋กœ ๋งŒ๋“  branch lab1์€ master์™€ ์™„์ „ํžˆ ๋™์ผํ•œ ์ƒํƒœ๋ฅผ ๊ฐ€์ง„ ๊ณต๊ฐ„.

  • ๋ธŒ๋žœ์น˜์—์„œ ์ˆ˜์ •์„ ํ•œ ํ›„ ์ปค๋ฐ‹ํ•˜๋ฉด lab1์—๋งŒ ๊ธฐ๋ก๋˜๋ฉฐ master ๋ธŒ๋žœ์น˜์—๋Š” ์–ด๋–ค ์˜ํ–ฅ๋„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

  • ์›ํ•˜๋Š” ๋งŒํผ ๋น ๋ฅด๊ฒŒ branch๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

  • ์‹คํ—˜ ์ค‘ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ๋Œ์•„๊ฐ€์•ผ ํ•  ๋•Œ : checkout master ๋กœ head๋ฅผ ์˜ฎ๊ฒจ์•ผ ํ•œ๋‹ค.

(cf > ์ž‘์—… ์ค‘์ธ ์œ„์น˜๋ฅผ ๊ฐ€๋ฅดํ‚ค๋Š” ๊ฐ€์ƒ์˜ ์ปค์„œ๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ ์ด๋ฅผ git์—์„œ๋Š” HEAD๋ผ ํ•œ๋‹ค.)

  • ์‹คํ—˜ ์„ฑ๊ณต : lab1 ๋ธŒ๋žœ์น˜์˜ ๋‚ด์šฉ์„ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉ(Merge) ํ•œ๋‹ค.

  • ์‹คํ—˜ ์‹คํŒจ : lab1 ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•œ๋‹ค.

checkout

  • ๋…๋ฆฝ๋œ ์ž‘์—… ๊ณต๊ฐ„์ธ ๋ธŒ๋žœ์น˜๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.

git commit

  • ์˜๋ฏธ์žˆ๋Š” ์ˆ˜์ • ์ž‘์—…์ด ๋๋‚ฌ์„ ๋•Œ ๋งˆ์นจ์„ ์•Œ๋ฆฌ๋Š” ์ž‘์—…

pull

  • ๋ฆฌ๋ชจํŠธ ์ €์žฅ์†Œ์˜ ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์„ ๋กœ์ปฌ(๋‚ด ์ปดํ“จํ„ฐ) ์ €์žฅ์†Œ์— ์ ์šฉํ•˜๋Š” ์ž‘์—…์„ pull์ด๋ผ ํ•œ๋‹ค.

master

  • git init์„ ํ–ˆ์„ ๋•Œ, default๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ฐ€์ง€๊ฐ€ 'master'์ด๋‹ค.

๋™๋ฃŒ์™€ ํ•จ๊ป˜ ์ž‘์—…ํ•˜๋ ค๋ฉด? -> github! or bitbucket

  • git์€ 'remote ์ €์žฅ์†Œ'๋ฅผ ์ง€์›ํ•œ๋‹ค.

  • github์ด ๋ฐ”๋กœ remote์ €์žฅ์†Œ์ด๋‹ค.

  • bitbucket์€ 5๋ช…๊นŒ์ง€ ๊ณต๋™์ž‘์—… ๊ฐ€๋Šฅํ•˜๋‹ค. (๊ทธ ์ด์ƒ์€ ์œ ๋ฃŒ)

  • github์€ private๊ฐ€ ์œ ๋ฃŒ์ด๋‹ค.

์ถœ์ฒ˜: https://goddaehee.tistory.com/91 [๊ฐ“๋Œ€ํฌ์˜ ์ž‘์€๊ณต๊ฐ„]

profile
แด…แด‡ฬแด แด‡สŸแดแด˜แด˜แด‡แดœส€. แด˜ส€แดษขส€แด€แดแดแด€แด›ษชแดษด ๐Ÿ”ฅ
post-custom-banner

3๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2021๋…„ 4์›” 27์ผ

์ง์ง์“ฐ

1๊ฐœ์˜ ๋‹ต๊ธ€
comment-user-thumbnail
2021๋…„ 4์›” 28์ผ

๋Œ€๋‹จํ•ด

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ