๐Ÿ“Œ 1. Git ์ดˆ๊ธฐ ์„ค์ •

  • Git์„ ์ฒ˜์Œ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ์ด๋ฉ”์ผ์„ ์„ค์ •
  • ์„ค์ • ๋ช…๋ น์–ด:
    • git config --global user.name "์‚ฌ์šฉ์ž์ด๋ฆ„"
    • git config --global user.email "์ด๋ฉ”์ผ์ฃผ์†Œ"

 

๐Ÿ“Œ 2. ๋กœ์ปฌ ์ €์žฅ์†Œ ์ƒ์„ฑ

  • ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“  ํ›„, Git ์ดˆ๊ธฐํ™”:
    • git init
  • ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ Git ์ €์žฅ์†Œ๋กœ ์ดˆ๊ธฐํ™”๋˜๋ฉฐ, ์ˆจ๊น€ ํด๋” .git์ด ์ƒ์„ฑ๋จ

 

๐Ÿ“Œ 3. ์›๊ฒฉ ์ €์žฅ์†Œ ์—ฐ๊ฒฐ(GitHub ์—ฐ๊ฒฐ)

  • GitHub์—์„œ ์ƒˆ ์ €์žฅ์†Œ(Repository) ์ƒ์„ฑ
  • ๋กœ์ปฌ ์ €์žฅ์†Œ์™€ ์›๊ฒฉ ์ €์žฅ์†Œ ์—ฐ๊ฒฐ:
    • git remote add origin [https://github.com/์‚ฌ์šฉ์ž์ด๋ฆ„/์ €์žฅ์†Œ์ด๋ฆ„.git]
  • ์—ฐ๊ฒฐ๋œ ์›๊ฒฉ ์ €์žฅ์†Œ ํ™•์ธ:
    • git remote -v

 

๐Ÿ“Œ 4. ํŒŒ์ผ ์ƒํƒœ ํ™•์ธ

  • Git์€ ํŒŒ์ผ ์ƒํƒœ๋ฅผ Untracked, Staged, Committed๋กœ ๊ตฌ๋ถ„ํ•จ
  • ํ˜„์žฌ ํŒŒ์ผ ์ƒํƒœ๋ฅผ ํ™•์ธ:
    • git status

 

๐Ÿ“Œ 5. ํŒŒ์ผ ์ถ”๊ฐ€(Stage)

  • ๋ชจ๋“  ํŒŒ์ผ์„ Staging Area์— ์ถ”๊ฐ€:
    • git add .
  • ํŠน์ • ํŒŒ์ผ๋งŒ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด:
    • git add ํŒŒ์ผ์ด๋ฆ„

 

๐Ÿ“Œ 6. ์ปค๋ฐ‹(commit)

  • ํŒŒ์ผ์„ ์ €์žฅ์†Œ์— ์ €์žฅ(์ปค๋ฐ‹):
    • git commit -m "์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€"
  • ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ž˜ ๋‚˜ํƒ€๋‚ด์•ผ ํ•จ

 

๐Ÿ“Œ 7. ์›๊ฒฉ ์ €์žฅ์†Œ์— ํ‘ธ์‹œ(Push)

  • ๋กœ์ปฌ ์ปค๋ฐ‹์„ GitHub ์›๊ฒฉ ์ €์žฅ์†Œ์— ์—…๋กœ๋“œ:
    • git push origin main
  • ๋งŒ์•ฝ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์ด main์ด ์•„๋‹ˆ๋ผ๋ฉด ํ•ด๋‹น ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ ์‚ฌ์šฉ

 

๐Ÿ“Œ 8. ์›๊ฒฉ ์ €์žฅ์†Œ ๋ณ€๊ฒฝ ๋‚ด์šฉ ๊ฐ€์ ธ์˜ค๊ธฐ(Pull)

  • ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ˆ˜์ •ํ•œ ๋‚ด์šฉ์„ ๋กœ์ปฌ๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ:
    • git pull origin main
  • Pull์€ Fetch + Merge๋ฅผ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•จ

 

๐Ÿ“Œ 9. Git ์ €์žฅ์†Œ ๋ณต์ œ(Clone)

  • ๊ธฐ์กด์— ์žˆ๋Š” GitHub ์ €์žฅ์†Œ๋ฅผ ๋‚ด ๋กœ์ปฌ์— ๋ณต์‚ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ:
    • git clone [https://github.com/์‚ฌ์šฉ์ž์ด๋ฆ„/์ €์žฅ์†Œ์ด๋ฆ„.git]
  • ์ €์žฅ์†Œ๋ฅผ ํ†ต์งธ๋กœ ๋ณต์ œํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋‹ค์šด๋กœ๋“œ

 

๐Ÿ“Œ 10. Git ๋ธŒ๋žœ์น˜ ๊ด€๋ฆฌ

  • ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ:
    • git branch ์ƒˆ๋ธŒ๋žœ์น˜์ด๋ฆ„
  • ๋ธŒ๋žœ์น˜ ๋ณ€๊ฒฝ:
    • git checkout ์ƒˆ๋ธŒ๋žœ์น˜์ด๋ฆ„
  • ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ๊ณผ ๋™์‹œ์— ์ด๋™:
    • git checkout -b ์ƒˆ๋ธŒ๋žœ์น˜์ด๋ฆ„
  • ๋กœ์ปฌ ๋ธŒ๋žœ์น˜๋ฅผ ์›๊ฒฉ ์ €์žฅ์†Œ์— ํ‘ธ์‹œ:
    • git push origin ์ƒˆ๋ธŒ๋žœ์น˜์ด๋ฆ„

 

๐Ÿ“Œ 11. Git ๋ธŒ๋žœ์น˜ ๋ณ‘ํ•ฉ(Merge)

  • ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์˜ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ํ˜„์žฌ ๋ธŒ๋žœ์น˜์— ํ•ฉ์น˜๊ธฐ:
    • git merge ๋ธŒ๋žœ์น˜์ด๋ฆ„
  • ์ฃผ์˜: ์ถฉ๋Œ(conflict)์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ถฉ๋Œ ํŒŒ์ผ์„ ์ง์ ‘ ์ˆ˜์ •ํ•ด์•ผ ํ•จ

 

๐Ÿ“Œ 12. ์›๊ฒฉ ์ €์žฅ์†Œ์™€ ์—ฐ๊ฒฐ ํ•ด์ œ(Remove Remote)

  • ๊ธฐ์กด ์›๊ฒฉ ์ €์žฅ์†Œ ์—ฐ๊ฒฐ ํ•ด์ œ:
    • git remote remove origin

 

๐Ÿ“ Tip

  • git log: ์ปค๋ฐ‹ ๋‚ด์—ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ
  • git diff: ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ์˜ ์ฐจ์ด์ ์„ ๋ณด์—ฌ์คŒ
  • git reset --hard: ์ปค๋ฐ‹์„ ์ดˆ๊ธฐ ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆผ (์ฃผ์˜: ๋ฐ์ดํ„ฐ ์†์‹ค ๊ฐ€๋Šฅ)

+ Recent posts