CS공부 6(형상관리 툴 Git, SVN)

RedNine·2023년 12월 19일
0

cs공부

목록 보기
8/10

🍳 형상관리 툴

형상관리(Version Control Revision Control) 툴은 소프트웨어 버전 관리 툴이라고도 한다. 형상관리는 소스의 변화를 끊임없이 관리하는 것을 뜻한다. 소스를 버전 별로 관리할 수 있어 개발 시 실수로 소스를 삭제 및 수정하기 전으로 돌아가야되는 경우에 유용하게 사용된다.

  • 팀 프로젝트에서도 누가 무엇을 어떻게 수정했는지도 알 수 있기에 코드를 병합하거나 수정된 소스를 추적하는 데에도 사용된다.

🎈 Git

Git은 분산 버전 관리 시스템으로 로컬 저장소를 사용하여 작업할 수 있다.

  • git은 개발자가 자신만의 commit history를 가질 수 있으며, 개발자와 서버의 저장소는 독립적으로 관리가 가능하다.
  • commit한 내용에 실수가 있더라도 바로 서버에 영향을 미치지 않는다.
  • 개발자는 마음대로 commit(push)하다가 자신이 원하는 순간에 서버에 변경 내역(commit history)을 보낼 수 있다.
  • 서버의 통합 관리자는 관리자가 원하는 순간에 각 개발자의 commit history를 가져올 수 있다.

🎈 SVN

SVN은 중앙집중식 버전 관리 시스템으로 버전 관리 서버에 소스코드가 저장되어 있어 온라인 상태에서만 작업을 수행할 수 있다.

  • SVN은 보통 대부분의 기능을 완성해놓고 소스를 중앙 저장소에 commit한다.
  • commit 자체가 중앙 저장소에 해당 기능을 공개한다는 의미이다.
  • 개발자가 자신만의 version history를 가질 수 없다. 때문에 몇일전 까지에 한하여 작업했던 내역을 확인 가능하지만 버전 관리가 되지 않는다.
  • commit한 내용에 실수가 있을 시에 다른 개발자에게 바로 영향을 미치게 되는 단점도 있다.

🎈 Git과 SVN 차이점

Git은 로컬에 저장을 할 수 있어 SVN보다 충돌이 날 가능성이 보다 높다. 때문에 Git은 Commit등 올바른 코딩 습관이 필요하다.

SVN은 Git보다 기능이 제한적인 만큼 대규모 작업을 수행하기 수월하다. 충돌이 일어날 경우 대처가 더 편하며, 일반적으로 큰 문제로 번지지 않는다.

  • 저장소 크기와 성능
    : SVN은 파일의 변화를 추적하는 방식으로 파일을 저장하며, Git은 파일의 스냅샷을 저장하는 방식으로 파일을 저장한다.
  • 보안 및 접근 제어
    : SVN은경로 기반의 접근 제어를 제공하고 특정 경로의 사용권한을 지정할 수 있다. 반면 Git은 기본적으로 소스코드의 변경 이력을 기록하는 것에 초점이 맞춰저 있다.

🍳 참고 사이트

0개의 댓글