아하 로고
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
하얀고슴도치236
하얀고슴도치23620.07.03

git 과 svn 의 차이점은 무엇이고 각각의 장단점은 무엇인가요??

git 과 svn 의 차이점은 무엇이고 각각의 장단점은 무엇인가요??

많은 서비스들이 기존 svn 으로 구성되어있던 형상관리를 git 으로 옴겨가는 추세인것으로 알고있습니다.

다만 굳이 브런치를 나눠서 개발하는 회사가 아니라면 svn을 쓸때와 큰 차이점을 느끼기가 힘든데...

각각의 차이점이나 장단점은 무엇이 있을까요??

55글자 더 채워주세요.
답변의 개수1개의 답변이 있어요!
  • 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이 유리한 경우가 많습니다.