Git이란 소스코드를 효과적으로 관리하기 위해 개발된 '분산형 버전 관리 시스템'입니다. 원래는 Linux 소스코드를 관리할 목적으로 개발 되었습니다.
Git에서는 소스 코드가 변경된 이력을 쉽게 확인할 수 있고, 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수도 있습니다.
|
SVN |
Git |
저장소 위치 |
서버 |
사용자 컴퓨터 |
공유 방법 |
작업공간 -> 저장소 커밋 |
작업공간 -> 스테이지영역 add -> 로컬저장소 커밋 -> 원격저장소 푸쉬 |
속도 |
느림 |
빠름 (약 4배~ 300배) |
저장 대상 |
파일의 변화 (차이점) |
저장 순간의 스냅샷 |
브랜치 |
디렉토리 구조 |
연속된 스냅샷이 순차적으로 이어짐 |
만들기 |
즉시 생성 |
즉시생성 |
내려받기 |
전체 디렉토리 구조 |
필요없음 |
병합 |
위치와 리비전을 명시. 복잡 |
빠르고 간편 |
충돌처리 |
svn 방법 동일 |
svn 방법 동일 |
협업을 위한 코드 공유 - 여러 사람들이 협업을 할 경우, 코드를 각 개발자와, 팀간에 공유할 수 있어야 하며,
접근 제한 - 사용자의 권한 등급에 따라 접근을 제한해야 한다.
다양한 버전(형상) 관리 - 소프트웨어 개발 버전 또는 릴리즈 (브랜치) 마다, 다른 코드를 저장할 수 있어야 한다. 예를 들어 릴리즈된 버전이나 마이너 버전에 대한 코드 관리, 패치 코드 관리 등이 그 예가 될 수 있다. 또한 다양한 브렌치중 두개 이상의 브렌치를 하나의 코드로 합칠(merge)할 수 있어야 한다.
특정 시점 추적 – 태깅 설명
변경 추적 - 마지막으로, 각 코드에 대한 변경을 추적할 수 있어야 한다. 누가? 언제? 어떤 이유로 코드를 어떻게 변경을 했는지를 추적하여 문제 발생시 원인 분석을 할 수 있어야 한다.
자세한 GitHub 사용법 --> [Git] GitHub for Windows 설치 및 사용법
GitHub 사용시 문제 해결
- Protocol https not supported or disabled in libcurl
--> http://egloos.zum.com/happyzen/v/2886069
'Dev.소스관리 > Git' 카테고리의 다른 글
[Git 오류 해결] error: Sparse checkout leaves no entry on the working directory (1) | 2016.08.09 |
---|