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

[SVN] SVNμ΄λž€ ? μž₯점 , 단점 , μš©μ–΄ 정리

natrue 2020. 9. 8. 11:32
728x90

νšŒμ‚¬μ—μ„œ μ†ŒμŠ€λ₯Ό ν˜•μƒκ΄€λ¦¬ν• λ•Œ svn을 자주 μ‚¬μš©ν•˜λŠ”λ°  

svn에 λŒ€ν•΄ μ•Œμ•„λ³΄μž.

 

 

 

 

 

1. SVNμ΄λž€? 

SVN은 SubVersion의 μ€„μž„λ§λ‘œ 쀑앙집쀑관리식 ν˜•상관리 μ†ŒμŠ€ 관리 νˆ΄μ΄λ‹€.

둜컬 pcμ—μ„œ 컀밋 μ‹œ 쀑앙 μ €μž₯μ†Œμ— λ°”λ‘œ 반영

 

 

2. SVN ν•„μš”μ„± 

  • 기쑴의 파일 μ‹œμŠ€ν…œ 곡유 λ“±μœΌλ‘œ 문제 λ°œμƒ μ‹œ 볡ꡬ
  • ν”„λ‘œμ νŠΈ μ§„ν–‰ 쀑 과거의 νŠΉμ • μ‹œμ μœΌλ‘œ λŒμ•„κ°€μ•Ό ν•˜λŠ” 경우
  • μ—¬λŸ¬ μ‚¬λžŒμ΄ 같은 ν”„λ‘œμ νŠΈμ— μ°Έμ—¬ ν•  경우, κ°μžκ°€ μˆ˜μ •ν•œ 뢀뢄을 νŒ€μ› 전체가 λ™κΈ°ν™”ν•˜λŠ” 과정을 μžλ™ν™”
  • μ†ŒμŠ€ μ½”λ“œμ˜ λ³€κ²½ 사항을 좔적
  • μ†ŒμŠ€ μ½”λ“œμ—μ„œ λˆ„κ°€ μˆ˜μ •ν–ˆλŠ”μ§€ 좔적
  • λŒ€κ·œλͺ¨ μˆ˜μ • μž‘μ—…μ„ λ”μš± μ•ˆμ „ν•˜κ²Œ μ§„ν–‰
  • λ§ˆμ΄λ„ˆ 버전(branch)둜 ν”„λ‘œμ νŠΈμ— 영ν–₯을 μ΅œμ†Œν™”ν•˜λ©΄μ„œ μƒˆλ‘œμš΄ 뢀뢄을 개발

 

3. SVN μž₯점  

  • μ›μžμ  컀밋을 μ§€μ›ν•˜λ―€λ‘œ λ‹€λ₯Έ μ‚¬μš©μžμ˜ 컀밋과 μ—‰ν‚€μ§€ μ•ŠμŒ. μ‹€νŒ¨ μ‹œ λ‘€λ°± κ°€λŠ₯
  • 직관적이닀.
  • 파일과 λ””λ ‰ν† λ¦¬μ˜ μ‚­μ œ, 이동, 이름 λ³€κ²½, 볡사 지원
  • μ†ŒμŠ€νŒŒμΌ 이외에 이진 파일(ν…μŠ€νŠΈνŒŒμΌμ΄ μ•„λ‹Œ, 컴퓨터 파일)도 효율적으둜 μ €μž₯ κ°€λŠ₯
  • 디렉터리도 버전 관리λ₯Ό ν•  수 μžˆλ‹€.
  • μ €μž₯μ†Œμ˜ 크기에 상관없이 μΌμ •ν•œ μ‹œκ°„ μ•ˆμ— κ°€μ§€μΉ˜κΈ°λ‚˜ νƒœκ·Έλ₯Ό ν•  수 μžˆλ‹€.
  • 처리 속도가 μƒλŒ€μ μœΌλ‘œ λΉ λ₯΄λ‹€.

 

4. SVN 단점  

  • μ†ŒμŠ€μ½”λ“œλŠ” merge(병합)이 κ°€λŠ₯ν•˜μ§€λ§Œ μ΄μ§„νŒŒμΌμ€ μ–΄λŠ ν•œμͺ½μ„ 버릴 μˆ˜λ°–μ— μ—†λ‹€.
  • κ°œλ³„ 개발자만의 개발 이λ ₯을 κ°€μ§ˆ 수 μ—†λ‹€.
  • .svn λ””λ ‰ν„°λ¦¬λ‘œ 인해 μ €μž₯μ†Œκ°€ λ‹€μ†Œ μ§€μ €λΆ„ν•œ λŠλ‚Œμ„ μ€€λ‹€.
  • μž¦μ€ μ»€λ°‹μœΌλ‘œ 인해 리비전 λ²ˆν˜Έκ°€ 크게 증가할 수 μžˆλ‹€.
  • 좩돌이 일어날 ν™•λ₯ μ΄ λ†’λ‹€.

 

 

5. SVN μš©μ–΄ 정리 

  • CheckOut : μ €μž₯μ†Œμ—μ„œ μ΅œμ‹  λ²„μ „μ˜ μ†ŒμŠ€μ½”λ“œλ₯Ό 졜초둜 λ°›μ•„μ˜€λŠ” 것 
  • Update : 둜컬 μ €μž₯μ†Œμ— μžˆλŠ” νŒŒμΌλ“€μ„ μ €μž₯μ†Œμ˜ μ΅œμ‹  λ²„μ „μœΌλ‘œ λ°›μ•„μ˜€κΈ°
  • Commit : 둜컬 μ €μž₯μ†Œμ˜ λ³€κ²½λœ λ‚΄μš©μ„ μ„œλ²„λ‘œ 전솑 
  • Merge : λ‚΄κ°€ μž‘μ—…ν•œ λΆ€λΆ„κ³Ό λ‹€λ₯Έ μ‚¬λžŒμ΄ μž‘μ—…ν•œ 뢀뢄을 λ³‘ν•©ν•œλ‹€.
  • Repository : ν”„λ‘œμ νŠΈ 파일 및 λ³€κ²½ 정보가 μ €μž₯λ˜λŠ” μž₯μ†Œ
  • Revision :  μˆ˜μ • ν›„ Commit ν•˜λ©΄ μˆ«μžκ°€ 증가
  • Import : 빈 Repository에 맨 처음 νŒŒμΌμ„ μ±„μš°λŠ” 것
  • Export : 버전 관리 νŒŒμΌλ“€μ„ λΊΈ 순수 파일만 λΉΌλ‚΄λŠ” 것
  • Revert : 둜컬 μ €μž₯μ†Œμ˜ λ‚΄μš©μ„ 이전 μƒνƒœλ‘œ 돌림
  • Add : 버전 관리 λŒ€μƒμœΌλ‘œ 파일 등둝
  • Shelve : 둜컬 μž‘μ—… λ‚΄μš©μ„ μž μ‹œ λ°±μ—…
  • Trunk : 개발 μ†ŒμŠ€λ₯Ό commit ν–ˆμ„ λ•Œ 개발 μ†ŒμŠ€κ°€ λͺ¨μ΄λŠ” κ³³
  • Branch : trunkμ—μ„œ 뢄리/λ³΅μ‚¬ν•œ μ†ŒμŠ€λ‘œ 버전별 λ°°ν¬νŒμ„ λ§Œλ“€κ±°λ‚˜ trunk와 λ³„λ„λ‘œ μš΄μ˜ν™˜κ²½μ„ μœ„ν•œ μ•ˆμ •ν™”λœ μ†ŒμŠ€ 관리 λͺ©μ μœΌλ‘œ μ‚¬μš©
  • Tag : 버전 λ³„λ‘œ μ†ŒμŠ€μ½”λ“œλ₯Ό λ”°λ‘œ κ΄€λ¦¬ν•˜λŠ” 곡간 

 

 

 

 

 

 

 

μ°Έκ³  :  imover.tistory.com/9