애플리케이션 개발/JAVA

Git과 SVN의 차이

sofiaaa 2023. 4. 14. 14:31
반응형

 

  SVN  Git
분산 vs 중앙 집중식  중앙 집중식  분산
브랜치 관리  가능하나 강점이 아님  강점
속도  중앙 서버와 연결되어 느릴 수 있음  로컬 저장소에서 빠름
오프라인 작업  중앙 서버와 연결되어 있어야 함  로컬 저장소에서 가능
코드 저장소  구조 디렉토리 기반  스냅샷 기반
머지 방식  머지와 컨플릭트 처리가 까다로움 머지와 리베이스(Rebase) 방식 가능

 

 

SVN 프로세스
저장소 생성: 프로젝트를 위한 중앙 저장소를 생성합니다.
첫 번째 체크아웃(Checkout): 로컬 컴퓨터에서 작업할 프로젝트를 가져옵니다.
변경 사항 추적: 작업 디렉토리에서 변경 사항을 추적하고, 변경 사항을 중앙 저장소로 커밋합니다.
변경 사항 업데이트(Update): 중앙 저장소에 업데이트가 있으면 로컬 컴퓨터의 작업 디렉토리를 업데이트합니다.
충돌 처리: 여러 개발자가 동시에 작업할 경우 충돌이 발생할 수 있으며, 이를 처리합니다.
브랜치 및 머지: 필요한 경우 브랜치를 만들어 작업하고, 브랜치를 합치는 머지(Merge)를 수행합니다.

Git 프로세스
저장소 생성: 프로젝트를 위한 로컬 저장소를 생성합니다.
첫 번째 체크아웃(Checkout): 로컬 저장소에서 작업할 프로젝트를 가져옵니다.
변경 사항 추적: 작업 디렉토리에서 변경 사항을 추적하고, 변경 사항을 로컬 저장소에 커밋합니다.
변경 사항 푸시(Push): 작업한 변경 사항을 원격 저장소에 푸시합니다.
변경 사항 풀(Pull): 다른 개발자가 원격 저장소에 업데이트를 푸시하면, 로컬 저장소를 업데이트합니다.
충돌 처리: 여러 개발자가 동시에 작업할 경우 충돌이 발생할 수 있으며, 이를 처리합니다.
브랜치 및 머지: 필요한 경우 브랜치를 만들어 작업하고, 브랜치를 합치는 머지(Merge) 또는 리베이스(Rebase)를 수행합니다.

반응형