Git Git 의 기능 및 장점

황제낙엽 2016.05.12 17:02 조회 수 : 320

sitelink1 http://blog.naver.com/leejunga-0409/220700020774 
sitelink2  
sitelink3  

(SW)형상 관리 서버(CM or SCM)? Configuration Management 소스 버전 관리

 

 sw개발 및 유지보수 과정에서 발생하는 소스코드, 문서, 인터페이스 등 결과물에 대한 형상(프로그램에 대하여 큰 형태의 구조적인 모습)을 만들고, 이 형상에 대한 것을 체계적으로 관리, 제어하기 위한 활동이다. 즉 프로젝트 진행 시 생성되는 소스 코드를 CVS, SVN, GIT 와 같은 버전 관리 시스템을 이용한 것

 

 

*GIT

저장소가 내 컴퓨터(로컬)에 있다. (SVN은 저장소가 서버에 있다)

다른 사람과 협업 시 Local의 저장소에서 작업 후 Commit하면 원격 저장소에 푸쉬된다.

git는 분산버전관리시스템이므로 저장소가 분산되는 구조를 가지고 있다.

 

*GIT 장점

-branch / merger

개발자  local에서 여러개의 branch 생성하여 개발을 할 수 있다.(생성, 삭제 가능 -> 독립성,테스트 가능)

( master -> develop-> topic )

push 전 까지 서버에 적용되지 않기에 local에서 마음껏 branch하여 테스트가 가능하다. 그러므로 에러 최소화와 원점 복귀 시간이 절약된다.

 

-속도 / 성능

네트워크 연결이 아닌 로컬에서 동적으로 움직이므로 속도가 빠르다.

 

-분산작업

svn의 경우 하나의 저장소로 동시 개발이 들어가므로 각자 코딩한 소스에 문제나 소스 통합하는데 번거롭다.

git는 통합/개발 전담으로하는 사람을 분담할 수 있다.

 

-데이터 보장

git는 모든 파일을 암호화한다. 파일은 항상 commit 시 체크썸(검사)을 거친다.

수정 시 commit id가 변경되어 사용자를 알 수 있다.

 

-준비 단계(Staging area)

내 작업공간(working directory)에서 명령 실행 후 add하게 되면 git에서 해당 파일을 관리한다. 즉 서버에 업로드 될 준비가 된 것이다.

git는 명령어들을 로컬에서 실행 후, 나중에 서버에 업로드하는데 svn은 바로 적용된디ㅏ. 

git는 2번 명령을해야 실행된다.

(working directory -> git add -> staging area -> git commit -> repository)

사용 안할 시  git commit -a 사용(sorking directory -> staging area -> repository)

 

-무료, 유료