About Git
리눅스 기반 형상관리 툴. 매우 빠른 속도로 동작한다. 서버에 접속하지 않아도 나중에 연결되었을 때 서버에 반영 가능하다.
소스코드 분실 가능성이 매우 낮다. 단점은 소스코드를 편집 시 Lock을 걸지 못한다. 그래서 충돌이 나면 해결 후 업로드해야 한다.
SVN과 Git의 차이점
- 중앙 저장소
SVN은 저장소에 중앙 서버가 있고, commit할 시에 코드가 중앙 서버로 전달된다. 그래서 인터넷이 안되는 환경이나 중아서버에 문제가 발생한 경우에는 협업이 불가능하다.
Git은 각 클라이언트가 모두 저장소를 가진다. 그래서 서버에 문제가 생겨도 지속적인 작업이 가능하다. 중앙집중식 이외에 다양한 워크플로우가 구현가능하다.
- 스테이지 영역
SVN은 커밋할 때 모든 변경사항을 커밋 대상이 된다. 하지만 git은 커밋할 파일들만 staging area에 추가한 후 로컬저장소로 커밋한다. 따라서 git이 훨씬 빠르다.
- 스냅샷(snapshot)
svn은 파일의 변화(차이점)를 저장한다. git은 그 순간의 스냅샷으로 저장한다. 그렇기 때문에 브랜치를 새로 만들 경우, 전체 파일을 네트워크를 통해 통째로 내려받아야 한다. 하지만 git은 가장 가까운 스냅샷만으로 특정 버젼을 빠르게 만들 수 있다.
'Git' 카테고리의 다른 글
git 명령어 정리하기(Window 버젼)(계속 업데이트 예정) (0) | 2021.07.14 |
---|