μ œν’ˆ μ†Œν”„νŠΈμ›¨μ–΄ 버전 관리 πŸ”„

좜제 λΉˆλ„: ν•˜
빈좜 νƒœκ·Έ: ν˜•μƒ 관리, ν˜•μƒ 관리 κΈ°λŠ₯/μ—­ν• , ν˜•μƒ 관리 도ꡬ별 νŠΉμ§•

1. μ œν’ˆ μ†Œν”„νŠΈμ›¨μ–΄ 버전 등둝

  • ν˜•μƒ κ΄€λ¦¬λŠ” κ³§ 버전 관리λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
  • 개발 단계별 μ‚°μΆœλ¬Όμ„ κ΄€λ¦¬ν•˜λŠ” κΈ°μˆ μž…λ‹ˆλ‹€.
  • λ³€κ²½ 사항(버전)을 μ²΄κ³„μ μœΌλ‘œ κ΄€λ¦¬ν•©λ‹ˆλ‹€.

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

  • μ œν’ˆ μ†Œν”„νŠΈμ›¨μ–΄λŠ” 개발 ν†΅μ œκ°€ μ€‘μš”ν•©λ‹ˆλ‹€.
  • ν˜•μƒ 관리가 미흑할 경우 λ°œμƒν•˜λŠ” 문제:
    • λ¬΄μ ˆμ œν•œ 변경이 λ°œμƒν•  수 있음
    • κ°€μ‹œμ„± 결핍 λ°œμƒ
    • Insight κ²°μ—¬ (원인 뢄석에 ν•„μš”ν•œ μš”μ†Œλ₯Ό ν•œλˆˆμ— νŒŒμ•…ν•˜κΈ° 어렀움)

2. ν˜•μƒ 관리 도ꡬ

μ£Όμš” κΈ°λŠ₯

  • check-out: ν˜•μƒμ˜ 사본을 μ»΄ν“¨ν„°λ‘œ λ‹€μš΄λ‘œλ“œ
  • check-in: μˆ˜μ •λœ μ†ŒμŠ€ μ½”λ“œλ₯Ό μ €μž₯μ†Œμ— μ—…λ‘œλ“œ
  • commit: μ΅œμ’… 승인
  • update: μ €μž₯μ†Œμ™€ μ»΄ν“¨ν„°μ˜ ν˜•μƒ 동기화 (μˆ˜μ • μ „ ν•„μˆ˜)
  • import: 졜초 μ†ŒμŠ€ μ—…λ‘œλ“œ
  • export: 버전 관리 νŒŒμΌμ„ μ œμ™Έν•œ μ†ŒμŠ€μ½”λ“œλ§Œ λ‹€μš΄λ‘œλ“œ

Git κΈ°μ€€ 버전 등둝 절차

  1. μΆ”κ°€(Add): νŒŒμΌμ„ μ €μž₯μ†Œμ— μΆ”κ°€
  2. 인좜(Check-out): μΆ”κ°€λœ νŒŒμΌμ„ κ°œλ°œμžκ°€ 인좜
  3. 예치(Commit)
  4. 동기화(Update)
  5. 차이(Diff): μΆ”κ°€/λ³€κ²½λœ 파일 κ°„ 차이 확인

3. μ†Œν”„νŠΈμ›¨μ–΄ ν˜•μƒ 관리 체계

μ£Όμš” κ°œλ…

  • ALM (Application Lifecycle Management): 전체 라이프 사이클 관리
  • ITIL (IT Infrastructure Library): IT μ„œλΉ„μŠ€ 제곡/관리 μš©μ΄ν™”
  • ITSM (IT Service Management): SLA에 λ§žλŠ” IT μ„œλΉ„μŠ€ 제곡
  • SLA (Service Level Agreement): ν˜‘μ˜λœ μ„œλΉ„μŠ€ μˆ˜μ€€
  • EAMS: EA의 관리/ν™œμš© μ‹œμŠ€ν…œ
  • EA: κΈ°μ—…μ˜ IT 청사진
  • PPM: 쀑앙 집쀑식 ν”„λ‘œμ„ΈμŠ€ 관리

4. ν˜•μƒ 관리 도ꡬ ν™œμš©

μ‚¬μš© λͺ©μ 

  • 관리 νŽΈμ˜μ„± ν–₯상
  • 생산성 κ°œμ„ 
  • 적은 λΉ„μš©κ³Ό 인λ ₯으둜 ν˜•μƒ 관리 κ°€λŠ₯
  • 주의: λ―Έμˆ™ν•œ μ‚¬μš© μ‹œ 개발 λ³΅μž‘λ„ 증가 κ°€λŠ₯

μ‚¬μš© μœ μ˜μ‚¬ν•­

  • 곡식적 ν•©μ˜ ν•„μš”
  • 배포 ν›„ μˆ˜μ • 쀑인 도ꡬ μ‚¬μš© μ‹œ μ‹ μ€‘ν•œ μ ‘κ·Ό ν•„μš”

ν˜•μƒ 관리 λ„κ΅¬μ˜ ν•„μš”μ„±

  • μƒμ‹œ μ ‘κ·Ό κ°€λŠ₯μ„± 확보
  • 무단 μˆ˜μ • λ°©μ§€

5. ν˜•μƒ 관리 도ꡬ μ’…λ₯˜

μ €μž₯μ†Œ μœ ν˜•λ³„ λΆ„λ₯˜

  • κ³΅μœ ν΄λ”: RCS, SCCS
  • ν΄λΌμ΄μ–ΈνŠΈ/μ„œλ²„: CVS, SVN
  • λΆ„μ‚° μ €μž₯μ†Œ: Git, Bitkeeper

μ €μž₯μ†Œ ꡬ뢄

  • 둜컬 ν˜•μƒκ΄€λ¦¬
  • 쀑앙 μ§‘μ€‘ν˜•
  • λΆ„μ‚°ν˜•

μ†ŒμŠ€ 곡개 μœ ν˜•

  • μ˜€ν”ˆ μ†ŒμŠ€ 관리 도ꡬ
  • μƒμš© ν˜•μƒ 관리 도ꡬ

μ£Όμš” ν˜•μƒ 관리 도ꡬ νŠΉμ§•

  • CVS:
    • μ„œλ²„-ν΄λΌμ΄μ–ΈνŠΈ ꡬ쑰
    • λ‹€μˆ˜ μΈμ›μ˜ λ™μ‹œ μ ‘κ·Ό κ°€λŠ₯
    • λ²”μš© 운영체제 지원
  • SVN:
    • CVS의 단점 보완
  • RCS:
    • 단일 μ‚¬μš©μž μˆ˜μ • μ œν•œ
    • 닀쀑접속 λΆˆκ°€
  • BitKeeper:
    • 쀑앙 ν†΅μ œ 방식 버전 관리
  • Git:
    • Bitkeeper λŒ€μ²΄
    • 고속 λΆ„μ‚°ν˜• ν˜•μƒ 관리
    • λŒ€ν˜• ν”„λ‘œμ νŠΈ 적합
    • 자유 μ†Œν”„νŠΈμ›¨μ–΄
  • Clear Case:
    • IBM μ œμž‘