β€» 이 글은 μ½”λ“œν”„λ ˆμ†Œ μ²΄ν—˜λ‹¨ ν™œλ™μ„ ν•˜λ©΄μ„œ λ§Œλ“€μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€.
β€» μ‹€λ¬΄μžκ°€ μ•Œλ €μ£ΌλŠ” Git μž…λ¬Έ κ°•μ˜μž…λ‹ˆλ‹€.
β€» μ½”λ“œν”„λ ˆμ†Œ λ°”λ‘œκ°€κΈ°

ν˜•μƒ 관리λ₯Ό μœ„ν•œ Git

1.ν˜•μƒμ΄λž€?

ꡭ어사전 : μ‚¬λ¬Όμ˜ 생긴 λͺ¨μ–‘μ΄λ‚˜ μƒνƒœ [넀이버 ꡭ어사전]
μ†Œν”„νŠΈμ›¨μ–΄μ—μ„œμ˜ ν˜•μƒ : μ†Œν”„νŠΈμ›¨μ–΄μ˜ λͺ¨μ–‘μ΄λ‚˜ μƒνƒœ
예) ν™”λ©΄μ„€κ³„μ„œ, ν”Œλ‘œμš°μ°¨νŠΈ, μ†ŒμŠ€μ½”λ“œ λ“±

2.ν˜•μƒκ΄€λ¦¬λž€?

Software Configutation Management(SCM)
μ†Œν”„νŠΈμ›¨μ–΄ 개발 ν”„λ‘œμ„ΈμŠ€ 각 λ‹¨κ³„μ—μ„œ μ†Œν”„νŠΈμ›¨μ–΄μ˜ 변경점을
μ²΄κ³„μ μœΌλ‘œ μΆ”μ ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” 일련의 λͺ¨λ“  ν™œλ™

3.ν˜•μƒκ΄€λ¦¬μ˜ λŒ€μƒ

SW개발 λͺ¨λ“  λ‹¨κ³„μ—μ„œ λ°œμƒν•˜λŠ” λͺ¨λ“  μ‚°μΆœλ¬Ό

  • Requirements
    - μ„œλΉ„μŠ€ μ •μ˜μ„œ
    - μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έμ„œ
  • Design
    - μŠ€ν† λ¦¬λ³΄λ“œ
    - 와이어 ν”„λ ˆμž„
  • Implementation
    - μ†ŒμŠ€μ½”λ“œ
  • κ·Έμ™Έ
    - SW μ„€κ³„λ¬Έμ„œ
    - API λ¬Έμ„œ
    - 개발자 κ°€μ΄λ“œ λ¬Έμ„œ λ“±λ“±...

4.ν˜•μƒκ΄€λ¦¬μ˜ μ€‘μš”μ„±

  • ν”„λ‘œμ νŠΈμ˜ 리슀크 μ΅œμ†Œν™”
  • μ†Œν”„νŠΈμ›¨μ–΄μ˜ ν’ˆμ§ˆ 확보

Git

  • μ†ŒμŠ€μ½”λ“œλ₯Ό 효율적으둜 κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ ν˜•μƒκ΄€λ¦¬λ„κ΅¬

1.Git의 λͺ©ν‘œ

  • λΉ λ₯Έμ†λ„
  • λ‹¨μˆœν•œ ꡬ쑰
  • λΉ„μ„ ν˜•μ μΈ 개발(수천개 λ™μ‹œ λ‹€λ°œμ μΈ 병렬 개발과 곡유)
  • μ™„λ²½ν•œ λΆ„μ‚°
  • Linux 컀널과 같은 λŒ€κ·œλͺ¨ ν”„λ‘œμ νŠΈμ— 유용

2.Git μ„€μΉ˜

Git μ„€μΉ˜ λ‹€μš΄λ‘œλ“œ
μœ„μ—μ„œ λ‹€μš΄λ°›κ³  Git Bash μ‹€ν–‰ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.
μ‹€ν–‰λœ Git Bashμ—μ„œ

$ git --version

git version x.xx.x.windows.x

라고 좜λ ₯λ˜μ‹œλ©΄ μ„€μΉ˜ μ™„λ£Œ!

Git의 κΈ°λ³Έκ°œλ…

1.Git 이해λ₯Ό μœ„ν•œ κΈ°λ³Έμš©μ–΄

  • 원격 μ €μž₯μ†Œ(Remote Repository)
  • 둜컬 μ €μž₯μ†Œ(Local Repository)
  • 클둠(Clone)
  • μž‘μ—… 디렉토리(Working Directory)
  • μŠ€ν…Œμ΄μ§• μ˜μ—­(Staging Area)
  • 컀밋(Commit)

μ €μž₯μ†Œ

  • 원격 μ €μž₯μ†Œ(Remote Repository) : Git μ„œλ²„μ—μ„œ 할당받은 μ €μž₯μ†Œ
  • 둜컬 μ €μž₯μ†Œ(Local Repository) : λ‚΄κ°€ μž‘μ—…ν•˜λŠ” 컴퓨터

클둠(Clone)

  • 원격 μ €μž₯μ†Œ λ‚΄μš©μ„ 둜컬 μ €μž₯μ†Œλ‘œ λ³΅μ‚¬ν•˜λŠ” ν–‰μœ„

둜컬 μ €μž₯μ†Œ(Local Repository)

  • μž‘μ—… 디렉토리(Working Directory)
  • μŠ€ν…Œμ΄μ§• μ˜μ—­(Staging Area)
  • 둜컬 μ €μž₯μ†Œ(Local Repository)
  • μž‘μ—… 디렉토리
    - PCμ—μ„œ ν˜„μž¬ μž‘μ—…μ€‘μ— μžˆλŠ” 디렉토리
    - Gitμ—μ„œ κ΄€λ¦¬λŠ” ν•˜μ§€λ§Œ, 좔적은 ν•˜μ§€ μ•ŠμŒ
  • μŠ€ν…Œμ΄μ§• μ˜μ—­
    - μž‘μ—…ν•œ λ‚΄μš©μ΄ μ˜¬λΌκΈ°λŠ” μž„μ‹œ μ €μž₯ μ˜μ—­
    • git에 μ˜ν•΄ 변경점 좔적 κ΄€λ¦¬λ˜λŠ” μ˜μ—­
    • 컀밋을 μ€€λΉ„ν•˜λŠ” μ˜μ—­
  • 둜컬 μ €μž₯μ†Œ
    - 컀밋듀이 영ꡬ적으둜 μ €μž₯λ˜λŠ” μ˜μ—­
    • 원격저μž₯μ†Œλ‘œ λΆ€ν„° cloneν•œ 컀밋듀이 μ‘΄μž¬ν•˜λŠ” μ˜μ—­

컀밋

  • Gitμ—μ„œ κ°€μž₯ μ˜λ―ΈμžˆλŠ” λ³€κ²½μ˜ λ‹¨μœ„
  • λ³€κ²½μ˜ λ‹¨μœ„λŠ” κ°œλ°œμžλ§ˆλ‹€ μ‘°μ§λ§ˆλ‹€ λͺ¨λ‘ λ‹€λ₯΄λ‹€.
  • "μ»€λ°‹ν•˜λ‹€"λŠ” 변경점을 λ‘œμ»¬μ €μž₯μ†Œλ‘œ μ €μž₯ν•˜λŠ” κ³Όμ •

2.Git κΈ°λ³Έ ν”Œλ‘œμš°

  • 원격 μ €μž₯μ†Œμ˜ μ†ŒμŠ€μ½”λ“œλ₯Ό λ‹€μš΄λ‘œλ“œν•΄μ„œ(clone)
  • μž‘μ—… λ””λ ‰ν† λ¦¬μ—μ„œ μž‘μ—…ν•œ λ‚΄μš©μ„
  • μŠ€ν…Œμ΄μ§€ μ˜μ—­μ— μΆ”κ°€ν•΄μ„œ(add)
  • μ΅œμ’…μ μœΌλ‘œλŠ” 컀밋을 λ§Œλ“€μ–΄(commit)
  • 둜컬 μ €μž₯μ†Œμ— 영ꡬ적으둜 μ €μž₯ν•œλ‹€.

Pull

  • 원격저μž₯μ†Œμ— μžˆλŠ” λ‹€λ₯Έ 개발자의 컀밋듀을 λ°›μ•„μ˜¨λ‹€.

Push

  • λ‘œμ»¬μ €μž₯μ†Œμ—μ„œ λ§Œλ“  컀밋을 원격저μž₯μ†Œλ‘œ μ—…λ‘œλ“œ ν•œλ‹€.

κ·Έλ¦ΌμœΌλ‘œλ³΄λŠ” Git κΈ°λ³Έ ν”Œλ‘œμš°

profile
μž˜ν•΄ 보겠닀!

0개의 λŒ“κΈ€