Brise

Git 개념 소개 및 개략적인 사용방법 본문

프로그램

Git 개념 소개 및 개략적인 사용방법

naudhizb 2016. 1. 10. 03:16
반응형



Git이란?

Git은 분산형 버전 관리 시스템이다. Git은 다음과 같은 기능들을 제공한다.

  • 협업을 위한 코드 공유 - 여러 사람들이 협업을 할 경우, 코드를 각 개발자와, 팀간에 공유
  • 접근 제한 - 사용자의 권한 등급에 따라 접근을 제한
  • 다양한 버전(형상) 관리 - 소프트웨어 개발 버전 또는 릴리즈 (브랜치) 마다, 다른 코드를 저장할 수 있어야 한다.
    예를 들어 릴리즈된 버전이나 마이너 버전에 대한 코드 관리, 패치 코드 관리 등이 그 예가 될 수 있다.
    다양한 브렌치중 두개 이상의 브렌치를 하나의 코드로 합칠(merge)할 수 있어야 한다.
  • 특정 시점 추적 – 태깅 설명
  • 변경 추적 - 마지막으로, 각 코드에 대한 변경을 추적할 수 있어야 함.
    누가? 언제? 어떤 이유로 코드를 어떻게 변경을 했는지를 추적하여 문제 발생시 원인 분석을 할 수 있어야 한다.

 

버전 관리 시스템이란?

'로마는 하루 아침에 만들어 지지 않았다.' 라는 말이 있다. 무언가를 만들 때에 그것은 하루 만에 뚝딱 하고 만들어 낼 수 없다는 이야기이다.
프로젝트를 관리하기 위해서는 '언제, 무엇을, 얼마나' 했는지에 대하여 관리할 수 있어야 한다. 이를 관리하기 위한 시스템이 버전 관리 시스템이다.

Figure 1 버전 관리 시스템의 구조

버전 관리 시스템은 일반적으로 위와 비슷한 구조를 가진다. 어떠한 기능을 구현하거나, 버그를 잡기 위해 새로운 가지(branch)를 생성하고 기능이 구현되면 그것을 원래 있던 branch에 합치는 방식이다.
이 때에 이 프로젝트의 진행에 대한 완전한 정보를 어디에 보관하느냐에 따라 중앙 집중식(서버 하나에 보관) 과 분산식(여러 서버에 보관)으로 나뉜다. 중앙 집중 버전 관리 시스템의 대표적인 예는 SVN이며, 분산 버전 관리 시스템의 대표적인 예가 바로 git이다. 분산 버전관리 시스템은 중앙 집중 버전 관리 시스템에 비하여 안정성이 높고 다른 곳에서 작업하기에 수월하기 때문에 큰 오픈소스 프로젝트에서 자주 이용하고 있다.

Figure 2 중앙 집중 버전 관리 시스템    Figure 3 분산 버전 관리 시스템

 

Git사용하기

Figure 4 그림으로 간단히 이해하는 Git

  1. 새 Git 만들기
    git init 명령어를 이용하여 새로운 저장소를 생성한다.
  2. 다른 repository에서 가져오기
    git clone 저장소_경로
  3. 파일 추가 / 제거 / 변경 및 반영
    git add
    git commit –m {message}
    git push 저장소
    git pull 가지
    git fetch 가지
  4. 가지(Branch) 만들기 / 합치기
    git branch –b {branch_name}
    git branch {branch_name}
    git merge {branch_name}

 

 

Reference

Git 간편 안내서 : https://rogerdudler.github.io/git-guide/index.ko.html

Git 입문 (쉽게 설명) : https://backlogtool.com/git-guide/kr/intro/intro1_1.html

실제 홈페이지로 보는 Git : http://kr.discovermeteor.com/chapters/github/

Git 관리 전략 : http://bcho.tistory.com/773

다른 VCS와 비교한 Git : https://git-scm.com/book/ko/v1/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EA%B8%B0%EC%B4%88

Git 명령어들와 그 설명 예시 : http://dimdim.tistory.com/entry/GIT%EC%97%90-%EB%8C%80%ED%95%9C-%EB%82%B4%EC%9A%A9%EC%A0%95%EB%A6%AC-%EC%A0%95%EB%A6%AC%EC%A4%91

  


 

반응형
Comments