🏁 기타/μ½”λ“œν”„λ ˆμ†Œ μ²΄ν—˜λ‹¨_BE

[Git] μž…λ¬Έ | κΈ°λ³Έ μš©μ–΄ | ν˜•μƒκ΄€λ¦¬ 1

Dhey 2022. 1. 7. 18:57
λ°˜μ‘ν˜•
ν˜•μƒκ΄€λ¦¬
(Software Configuration Management, SCM)

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

 

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

: 변경점을 κ΄€λ¦¬ν•˜κ³  μΆ”μ ν•˜λŠ” 과정은 ν”„λ‘œμ νŠΈμ˜ 리슀크λ₯Ό μ΅œμ†Œν™”ν•œλ‹€λŠ” 것을 μ˜λ―Έν•œλ‹€.
μ†Œν”„νŠΈμ›¨μ–΄μ˜ λ³΅μž‘μ„±μ΄λ‚˜ 규λͺ¨κ°€ 점점 λ†’μ•„μ§€κ³  있기 λ•Œλ¬Έμ— ν˜•μƒκ΄€λ¦¬λŠ” μ†Œν”„νŠΈμ›¨μ–΄μ˜ ν’ˆμ§ˆμ„ ν™•λ³΄ν•˜λŠ” κ°€μž₯ 핡심 과정이 됐고, μ€‘μš”μ„±μ΄ 점점 λ†’μ•„μ‘Œλ‹€.

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

: SW 개발 λͺ¨λ“  λ‹¨κ³„μ—μ„œ λ°œμƒν•˜λŠ” μ‚°μΆœλ¬Ό (ex. μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έμ„œ, ν”„λ‘œμ νŠΈ 관리λ₯Ό μœ„ν•œ 각쒅 λ¬Έμ„œ, μŠ€ν† λ¦¬λ³΄λ“œ, μ†ŒμŠ€μ½”λ“œ, API λ¬Έμ„œ λ“±)


 

Git

μ†ŒμŠ€μ½”λ“œλ₯Ό 효율적으둜 κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ ν˜•μƒκ΄€λ¦¬ 도ꡬ, '버전 관리 도ꡬ' 라고도 뢈림



Git의 λͺ©ν‘œ

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

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

- Remote Repository(원격 μ €μž₯μ†Œ): μ›κ²©μ„œλ²„μ— μžˆλŠ” μ €μž₯μ†Œ
- Local Repository(둜컬 μ €μž₯μ†Œ): 각 κ°œλ°œμžλ“€μ΄ μž‘μ—…ν•˜λŠ” 개인의 PC, 컀밋듀이 영ꡬ적으둜 μ €μž₯λ˜λŠ” μ˜μ—­
- Clone(클둠): 원격저μž₯μ†Œμ˜ μ†ŒμŠ€μ½”λ“œλ₯Ό λ‘œμ»¬μ €μž₯μ†Œλ‘œ λ³΅μ‚¬ν•΄μ˜€λŠ” 것

- Working Directory(μž‘μ—… 디렉토리): PCμ—μ„œ ν˜„μž¬ μž‘μ—…μ€‘μ— μžˆλŠ” 디렉토리
- Staging Area(μŠ€ν…Œμ΄μ§• μ˜μ—­): μž‘μ—…ν•œ λ‚΄μš©μ΄ μ˜¬λΌκ°€λŠ” μž„μ‹œ μ €μž₯ μ˜μ—­
- Commit(컀밋): Gitμ—μ„œ κ°€μž₯ μ˜λ―ΈμžˆλŠ” λ³€κ²½μ˜ λ‹¨μœ„,
"μ»€λ°‹ν•˜λ‹€" → 변경점을 둜컬 μ €μž₯μ†Œλ‘œ μ €μž₯ν•˜λŠ” κ³Όμ •

- Pull: 원격저μž₯μ†Œμ— μžˆλŠ” λ‹€λ₯Έ 개발자의 컀밋듀을 λ°›μ•„μ˜¨λ‹€.
- Push: λ‘œμ»¬μ €μž₯μ†Œμ—μ„œ λ§Œλ“  컀밋을 원격저μž₯μ†Œλ‘œ μ—…λ‘œλ“œ ν•œλ‹€.

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

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

git κΈ°λ³Έ ν”Œλ‘œμš° κ·Έλ¦Ό 도식화

 

 


 

 

μ½”λ“œν”„λ ˆμ†Œ Java μ›Ή 개발 μ²΄ν—˜λ‹¨ ν™œλ™ 쀑 'μ‹€λ¬΄μžκ°€ μ•Œλ €μ£ΌλŠ” Git μž…λ¬Έ' μ΄λŸ¬λ‹ κ°•μ˜λ₯Ό λ“£κ³  μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€ :)

μ½”λ“œν”„λ ˆμ†Œ URL: https://www.codepresso.kr/

 

프리미엄 IT ꡐ윑 μ„œλΉ„μŠ€ - μ½”λ“œν”„λ ˆμ†Œ

 

www.codepresso.kr

 

λ°˜μ‘ν˜•