기본적으로 둘 다 소스코드 형상관리 툴이다.
그간 svn만 쓰다가 git을 쓰게 되어 정리해보게 되었다.
SVN : 작업내역 커밋 시 소스변경사항과 히스토리가 즉시 서버로 전송되고 관리가 된다.
2000년대 초반 이후로 활발히 사용됨.
(반드시 리모트 서버가 필요함. 저장소는 하나)
사용 패턴 (단순함): checkout -> 개발 -> commit
Git : 출시된 것은 2005년이지만 안드로이드 대중화 이후 2010초반이후로 대중적으로 사용되기 시작 함.
SVN에서 갖고있는 문제점들을 깨부순 형상관리 툴이다.
로컬자체가 서버도 될 수 있고 클라이언트도 될 수 있다.
저장소의 분산이 가능하다.
브랜치를통한 더욱 상세한 버전관리가 가능하다.
잦은 커밋 후 완전한 개발완료 후에 push 하는것이 가능하다.
단 svn에 비해 상대적으로 복잡하다.
*commit : 파일을 추가하거나 변경내용을 저장소에 저장하는 작업(add -> commit)
*push : 파일을 추가하거나 변경내용을 원격저장소에 업로드 하는 작업
add -> commit ->push(작업이 모두 완료 된 경우) -> merge(다른소스와 합치기. 충돌발생가능성있음.)
branch에서 개발한 후 병합은 master가지에서 수행한다.
git은 svn과 다르게 롤백이 가능하다.
(하지만 인덱스에 추가된 변경내용과 새로 추가된 파일은 그대로 남기 때문에 가능하면 피한다..)
master에서 다른이력을 가리킬 수 있음.
본 포스팅의 내용은 아래링크를 참고하여 만들어졌습니다.
https://rogerdudler.github.io/git-guide/index.ko.html
git - 간편 안내서 - 어렵지 않아요!
rogerdudler.github.io
'왕초보 개발일지 > 기타' 카테고리의 다른 글
세션변수 (순번매기기), mysql limit (0) | 2022.10.31 |
---|---|
여러줄 문자 한번에 수정하기. (0) | 2022.10.28 |
여러줄 문자 한번에 수정하기. (0) | 2022.10.27 |
배너의 기간검색 쿼리 만들기 (0) | 2022.10.26 |
NOW() vs SYSDATE() _MYSQL (0) | 2022.10.25 |
댓글