coding

Git ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋… ๋ฐ ์ปค๋งจ๋“œ ์ •๋ฆฌ

devPharm 2022. 9. 5. 22:38
๐Ÿˆโ€โฌ›

git ์ด๋ž€?

๋ฒ„์ „ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ & ๋™์‹œ ํ˜‘์—… ๊ฐ€๋Šฅ ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ํˆด

๋ฒ„์ „ ๊ด€๋ฆฌ ํ•จ์œผ๋กœ์จ, ์ง€๋‚œ ๊ณผ์ • ํ™•์ธ ๊ฐ€๋Šฅ ๋ฐ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์Œ

GitHub ๋ž€?

์›๊ฒฉ์ €์žฅ์†Œ ์ด๋‹ค.

์ž‘์—…๋ฌผ ๋ฐฑ์—… ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์„œ๋น„์Šค

git์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์˜ฌ๋ ค๋‘˜ ์ˆ˜ ์žˆ๋‹ค

ํ˜‘์—…์ด ๊ฐ€๋Šฅํ•ด ์ง„๋‹ค

๋ ˆํฌ์ง€ํ† ๋ฆฌ(repository) ๋ž€?

์ €์žฅ์†Œ ์ด๋‹ค

ํ”„๋กœ๊ทธ๋žจ ๋ฐ ํŒŒ์ผ๋“ค ๋ฒ„์ „๋“ค์„ ์ €์žฅ

์ดˆ์ฐฝ๊ธฐ ๋ชจ์Šต๋ถ€ํ„ฐ ์ตœ์ข… ๋ชจ์Šต๊นŒ์ง€ ๋ฒ„์ „๋ณ„๋กœ ๋‹ด๊ฒจ ์žˆ๋‹ค

๊ทธ ๋ฒ„์ „ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ์ปค๋ฐ‹ ์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•จ

commit ์ด๋ž€?

ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์˜ ํŠน์ • ๋ชจ์Šต์„

ํ•˜๋‚˜์˜ ๋ฒ„์ „์œผ๋กœ ๋‚จ๊ธฐ๋Š” ํ–‰์œ„ & ๊ฒฐ๊ณผ๋ฌผ

commit์— ๊ด€ํ•œ ์ฃผ์˜์‚ฌํ•ญ

  1. ์ฒ˜์Œ์œผ๋กœ ์ปค๋ฐ‹ ํ•˜๊ธฐ ์ „ ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„๊ณผ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์„ค์ •
  1. ์ปค๋ฐ‹๋ฉ”์„ธ์ง€ ๋‚จ๊ธฐ๊ธฐ(์˜ต์…˜ -m)
  1. ์ปค๋ฐ‹ํ•  ํŒŒ์ผ์„ git add๋กœ ์ง€์ •ํ•ด์ฃผ๊ธฐ

Git์˜ 3๊ฐ€์ง€ ์ž‘์—… ์˜์—ญ

1.working directory์‹ค์ œ๋กœ ์ž‘์—…์ด ์ด๋ฃจ์–ด์ง€๋Š” ํ”„๋กœ์ ํŠธ ์ง€๋ ‰ํ† ๋ฆฌ
2. staging areagit add๋ฅผ ํ•œ ํŒŒ์ผ๋“ค์ด ์กด์žฌํ•˜๋Š” ์˜์—ญ
3. repositoryworking directory ๋ณ€๊ฒฝ ์ด๋ ฅ๋“ค์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์˜์—ญ commit๋“ค์ด ์ €์žฅ๋˜๋Š” ์˜์—ญ

working directory์—์„œ ์ž‘์—…์„ํ•˜๊ณ 

์ž‘์—…ํ•œ ํŒŒ์ผ๋“ค์„ git add ํ•ด์ฃผ๊ณ  (staging area์— ์ €์žฅ)

์ปค๋ฐ‹์„ ํ•˜๋ฉด stagint area์— ์žˆ๋˜ ํŒŒ์ผ๋“ค์ด repository์— ์ €์žฅ ๋œ๋‹ค

Git์ด ๋ณด๋Š” ํŒŒ์ผ์˜ 4๊ฐ€์ง€ ์ƒํƒœ

  1. Untracked ์ƒํƒœ

git์˜ํ•ด ๋ณ€๋™์‚ฌํ•ญ์ด ์ถ”์ ๋˜์ง€ ์•Š๋Š” ์ƒํƒœ

์˜ˆ) ํŒŒ์ผ์„ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๊ณ  ๊ทธ ํŒŒ์ผ์„ ํ•œ๋ฒˆ๋„ git addํ•ด์ฃผ์ง€ ์•Š์€ ์ƒํƒœ

  1. Tracked ์ƒํƒœ

(1) Staged ์ƒํƒœ : stagint area์— ์˜ฌ๋ผ์™€ ์žˆ๋Š” ์ƒํƒœ

์˜ˆ) ์ƒ์„ฑ๋œ ํŒŒ์ผ์— git add๋ฅผ ํ•ด์ค€ ์ƒํƒœ

(2) Unmodified ์ƒํƒœ

์ตœ์‹  ์ปค๋ฐ‹ ๋ชจ์Šต๊ณผ ๋น„๊ต ํ–ˆ์„ ๋•Œ ์ „ํ˜€ ๋ฐ”๋€๊ฒŒ ์—†๋Š” ์ƒํƒœ

(3)Modified ์ƒํƒœ

์ตœ์‹  ์ปค๋ฐ‹์˜ ๋ชจ์Šต๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ์กฐ๊ธˆ์ด๋ผ๋„ ๋ฐ”๋€ ๋‚ด์šฉ์ด ์žˆ๋Š” ์ƒํƒœ

Git ์ปค๋งจ๋“œ ์ •๋ฆฌ

  • git init : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ Git์ด ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ(=working directory)๋กœ ์„ค์ •ํ•˜๊ณ  ๊ทธ ์•ˆ์— ๋ ˆํฌ์ง€ํ† ๋ฆฌ(.git ๋””๋ ‰ํ† ๋ฆฌ) ์ƒ์„ฑ
  • git config user.name {'์ด๋ฆ„'} : ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ ์•„์ด๋”” ์„ค์ •
  • git config user.email {'์ด๋ฉ”์ผ'} : ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ ์„ค์ •
  • git add {ํŒŒ์ผ ์ด๋ฆ„} : ์ˆ˜์ •์‚ฌํ•ญ์ด ์žˆ๋Š” ํŠน์ • ํŒŒ์ผ์„ staging area์— ์˜ฌ๋ฆฌ๊ธฐ
  • git add {๋””๋ ‰ํ† ๋ฆฌ๋ช…} : ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์—์„œ ์ˆ˜์ •์‚ฌํ•ญ์ด ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ๋“ค์„ staging area์— ์˜ฌ๋ฆฌ๊ธฐ
  • git add . : working directory ๋‚ด์˜ ์ˆ˜์ •์‚ฌํ•ญ์ด ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ๋“ค์„ staging area์— ์˜ฌ๋ฆฌ๊ธฐ
  • git reset {ํŒŒ์ผ ์ด๋ฆ„} : staging area์— ์˜ฌ๋ ธ๋˜ ํŒŒ์ผ ๋‹ค์‹œ ๋‚ด๋ฆฌ๊ธฐ
  • git status : Git์ด ํ˜„์žฌ ์ธ์‹ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ๋‚ด์šฉ๋“ค ์ถœ๋ ฅ(๋ฌธ์ œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ํ™œ์šฉํ•˜๋ฉด ์ข‹์Œ)
  • git commit -m "์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€" : ํ˜„์žฌ staging area์— ์žˆ๋Š” ๊ฒƒ๋“ค ์ปค๋ฐ‹์œผ๋กœ ๋‚จ๊ธฐ๊ธฐ
  • git help {์ปค๋งจ๋“œ ์ด๋ฆ„} : ์‚ฌ์šฉ๋ฒ•์ด ๊ถ๊ธˆํ•œ Git ์ปค๋งจ๋“œ์˜ ๊ณต์‹ ๋ฉ”๋‰ด์–ผ ๋‚ด์šฉ ์ถœ๋ ฅ

์ถœ์ฒ˜ : codeit ๊ฐ•์˜


Uploaded by N2T

๋Œ“๊ธ€์ˆ˜0