SVN도 브랜치를 사용할 수 있습니다.
SVN의 디렉터리 구조 예시입니다.
trunk
index.html
scripts.js
styles.css
branches
style
index.html
styles.css
script
index.html
scripts.js
tags
v0.0.1
index.html
v0.0.2
index.html
scripts.js
styles.css(프로젝트가 하나인 경우 최상위 디렉터리에 trunk, branches, tags만 사용합니다.)
trunk가 git의 master(HEAD) 브랜치, branches의 각 폴더가 git의 브랜치, tags의 각 폴더가 git의 태그 역할입니다.
하지면 Git은 브랜치, 태그가 별도의 기능인 반면 SVN의 태그와 브랜치는 단순히 디렉터리일 뿐입니다.
쓸 일이 있을지는 모르겠지만, SVN은 어떤 디렉터리에서 어떤 디렉터리로도 디렉터리 단위로 merge가 가능합니다.
Git의 경우에는 저장소 하나에 여러개의 모듈을 폴더로 구분해 사용하는 경우 의도치 않게 다른 모듈도 merge될 수 있으나
크게 관련 없는 별도의 모듈이라면 submodule을 사용하면 됩니다.
Git은 로컬 저장소에 커밋하고, 원할 때 push로 공개합니다. 여러개의 커밋을 하나로 합칠 수도 있습니다.
SVN은 커밋과 동시에 다른 사람들에게 공개됩니다. 잘못 커밋하면 되돌릴 수 없습니다.
다른 툴과 연동하기에도 SVN보다 Git이 유리한 경우가 많습니다.