git과 GitHub, 소스 다운로드 방법

git [참고] 

http://tuwlab.com/ece/22202

 
형상 관리 도구로서의 GIT
주로 사용되는 형상 관리 도구에는 SVN과 GIT이 있다. 모두 소스코드의 효율적인 관리를 위한 형상 관리 도구이지만 다른점이 존재한다. 같은 용어도 서로 동작하는 개념이 다르므로 혼란스러울 수 있으니 주의할 것.
SVN과 GIT의 가장 큰 차이점은 '분산'이다. SVN은 중앙 집중식 소스코드 관리 방식인데 반해, GIT은 분산 소스코드 관리 방식이다. 즉 중앙 저장소가 파괴되더라도 분산되어 있는 저장소를 이용해 중앙 저장소를 복원할 수 있다.
 
 
동작
>> 작업한 내용을 '스테이지'에 올려서 '로컬 저장소'에 커밋하고, 이를 '푸시'해서 '원격 저장소'로 보낸다.
 
저장소
원격 저장소만 있는 SVN과 달리, GIT에는 저장소가 로컬 저장소와 원격 저장소로 나뉜다. 작업을 시작할 때 원격 저장소에서 로컬 저장소로 소스코드를 복사해서 가져오고(Clone), 이후 소스코드를 변경한 다음 커밋을 한다. 이 때, 커밋한 소스는 로컬 저장소에 저장되며, 푸시를 하기 전에는 원격 저장소에 반영되지 않는다.
스테이지
작업한 내용이 올라가는 임시 저장 영역이다.
푸시
로컬 저장소의 내용 중 원격 저장소에 반영되지 않은 커밋을 원격 저장소로 보내는 과정이다.
(SVN의 커밋 = GIT의 커밋 + GIT의 푸시)
풀(Pull)
원격 저장소에 있는 내용 중 로컬 저장소에 반영되지 않은 내용을 가져와서 로컬 저장소에 저장하는 과정이다.

브랜치

주축이 되는 브랜치를 마스터 브랜치라고 하며, 모든 브랜치는 마스터 브랜치에서 분기되어 최종적으로 다시 마스터 브랜치에 분기되어 최종적으로 다시 마스터 브랜치에 병합되어 개발

+Fork

Branch와 유사한 용어. GitHub와 같은 Social GIT사이트에서 제공. GIT의 Fork는 저장소를 복제해서 새로운 독립된 저장소를 만드는 작업을 의미한다. 공개된 오픈 소스 프로젝트를 자신이 프로젝트 매니저가 되어 입맛대로 수정하고 싶을 때 사용하는 기능이며 원격 저장소를 로컬 저장소로 복제한 뒤 새로운 원격 저장소에 푸시하는 과정을 한큐에 해결할 수 있도록 도입한 것이 Fork이다.

병합

하나의 브랜치를 다른 브랜치와 합치는 과정을 의미한다. 병합의 대상이 되는 두 브랜치는 주종관계가 성립하며, A브랜치와 B브랜치를 병합한다라는 모호한 말로 표현할 수 있다.

 

 

GIT 관련 웹 기반 솔루션(GitHub, GitLab 등)

원격 저장소 관리 기능 뿐만 아니라 위키, 이슈 관리, 머지 요청 관리, 팀원 관리 등 전반적인 프로젝트 관리 기능도 함께 제공한다. 웹 기반으로 동작하므로 브라우저만 있으면 접근이 가능하기 때문에 코드리뷰 등의 작업도 한층 수월하게 할 수 있다.

 

소스 다운 로드 방법

제목의 링크 페이지 참조