Git과 SVN의 차이

춘자쓰·2022년 3월 8일
0

https://blog.naver.com/special9486/220201517482
위 문서를 참고하여 스터디 용으로 작성된 문서입니다.

형상관리

소프트웨어 버전 관리 툴
소스의 변화를 끊임없이 관리하는 것
소스를 버전 별로 관리할 수 있어서 개발할 때 실수로 소스를 삭제하거나 수정하기 이전으로 돌아가야 되는 경우 유용하게 사용되는 툴
팀 프로젝트에서도 누가 무엇을 어떻게 수정했는지도 알 수 있기 때문에 코드를 병합 하거나 수정된 소스를 추적하는 데에도 쓰인다.

형상관리 방법은 두 가지로 나눌 수 있다.
SVN과 GIT으로 나눌 수 있는데,
SVN에서의 commit 과 GIT에서의 commit은 서로 다른 용어이다.
commit외에도 다양한 용어에서 차이점을 발견할 수 있다.

SVN

자신만의 버전 히스토리를 가질 수 없다.
로컬 히스토리를 이용하긴 하지만 며칠 전까지에 한하여 작업했던 내역만 확인 가능하고 전체적인 버전관리가 불가능하다.
commit한 내용에 실수가 있을 시에 다른 개발자에게 바로 영향을 미치게 되는 단점도 있다.

GIT

소스코드를 주고 받을 필요 없이, 같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능하다.

  • 브랜치를 통해 개발한 뒤, 본 프로그램에 합치는 방식(marge)로 개발을 진행할 수 있다.

분산 버전 관리이기 때문에 인터넷이 연결되지 않은 곳에서도 개발을 진행할 수 있음, 중앙 저장소가 날아가도 다시 원상복구가 가능하다.

  • commit
    SVN에서의 commit - 바로 원격 저장소에 save되기 때문에 대부분의 기능을 완성해놓고 소스를 commit 한다.
    GIT에서의 commit - 로컬 저장소에 커밋함 (원격 저장소에 save되지 않음)

  • checkout
    SVN에서의 checkout - 원격 저장소에서 로컬로 소스를 내려 받음
    GIT에서의 checkout - master에서, 혹은 ㅇㅇ브랜치에서 ㅁㅁ 브랜치로 변경함

profile
프사라도 귀여워야지

0개의 댓글