SVN vs Git
CODEDRAGON ㆍDevelopment/Git, PM
반응형
SVN vs Git
SVN | Git |
SVN의 저장소 저장소는 서버에 위치 |
Git의 저장소 로컬(내 컴퓨터)에 저장소가 위치 |
SVN의 서버와의 연결중단 온라인일 경우에만 커밋이 가능합니다. 원격저장소와의 연결이 끊기면 버전관리가 중단되고 복구 이후 가능합니다. |
Git의 서버와의 연결중단 로컬저장소를 사용하기 때문에 원격 저장소와의 연결이 끊겨도 버전관리가 가능합니다. |
SVN의 서버 장애 원격 저장소 손실 시 버전관리 데이터도 손실 됩니다. |
Git의 서버 장애 원격 저장소의 데이터가 로컬 저장소에도 보관되므로 원격 저장소가 손실되어도 로컬 저장소로 복구가 가능 |
SVN의 변경 내역 커밋이 바로 일어납니다. |
Git의 변경 내역 로컬 저장소에 커밋 전 임시로 사용되는 영역인 인덱스라는 단계가 더 존재합니다. |
SVN의 업로드 SVN작업 공간에서 원격 저장소로 바로 커밋이 이루어진 후 다른 개발자와 공유가 가능합니다. |
Git의 업로드 다른 개발자와 협업을 하기 위해서는 원격저장소가 필요합니다. 내 컴퓨터의 저장소에 수정 내용을 커밋 후 다른 개발자와 공유 시 원격 저장소에 푸시를 수행합니다. |
SVN의 내려받기 update명령어를 통해 원격저장소로 부터 내려받아 작업공간을 병합합니다. |
Git의 내려받기 원격저장소부터 내려 받아(fetch)와 로컬저장소와 작업공간을 병합 (merge)합니다. SVN의 update 동일하게 pull 명령어로 원격 저장소로 부터 내려받아 작업공간을 병합합니다. |
SVN의 수정 내역 관리 방법 수정 내역(차이점)을 저장하기 때문에 Version 5의 파일을 가져오기 위해 기초가 되는 file A, file B, file C와 함께 모든 수정 내역을 내려 받아야 합니다. |
Git의 수정 내역 관리 방법 수정 내역을 Commit 순간에 스냅샷으로 저장하기 때문에 Version 5를 가져오기 위해 A2, B2, C3의 스냅샷만 네크워크를 거치지 않고 로컬 장소로부터 가져오기 때문에 매우 빠릅니다. |
SVN의 가지치기 전체 파일을 네트워크로 내려받기 때문에 느립니다. SVN은 디렉토리 구조로서 서버는 변경 내역과 최소한의 정보를 보관합니다. 가지치기할 때, 변경 내역을 순차적으로 기초 파일에 적용하여 실제 파일을 생성합니다. |
Git의 가지치기 네크워크를 거치지 않고 로컬 저장소로부터 가져오기때문에 매우 빠릅니다. Git은 디렉토리가 아닌 스냅샷을 생성하기 때문에, 커밋 시 스냅샷이 순차적으로 생성되면서 가지를 치게됩니다. 작업 중 원본과 가지를 자유롭게 선택하는 것이 가능합니다. |
SVN의 합치기 합칠 경우 위치와 병합할 수정 내역을 확인하는 과정이 필요하기 때문에 SVN 합치는 속도가 느립니다. |
Git의 합치기 공통된 조상과 각 가지 하나를 이용하여 합칩니다. (3-Way Merge) 그래서 SVN보다 빠릅니다. |
'Development > Git, PM' 카테고리의 다른 글
TortoiseGit 토터스깃 "깃 관리 도구" 프로그램 제거 또는 삭제 uninstall (0) | 2021.10.20 |
---|---|
GitHub 깃허브 저장소 복사하기 - git clone (0) | 2021.08.04 |
Git 깃 분산버전관리시스템 설치 & 정상설치 확인하기 - download & install (0) | 2021.03.31 |
사고 thinking vs 지식 knowledge vs 정보 information (0) | 2021.03.20 |
CodeLab 폴더 만들기 - 개발 코딩, 데이터 분석, 테스트등 다양하고 많은 작업이 이루어지는 곳 (0) | 2021.03.09 |