[정보] Git을 이용한 형상관리 #1 - Git의 세가지 상태, Git 설치

안녕하세요 남산돈가스 입니다.

오늘은 Git에 대해서 포스팅해보려고 합니다.
현재 플랫폼사업팀은 소스코드 관리를 svn을 이용하고 있습니다. 하지만 개발하며 braches를 trunk로 올리는 과정에서 잦은  conflict들을 경험하였고 Git을 이용하면 소스관리가 조금 더 편해질까라는 의문을 가지게 되었고 함께 공부해볼 겸 Git에 대해 포스팅하기로 하였습니다.

이 포스팅은 방대한 Git의 내용을 모두 다루기보다는 실제 개발에 가장 빈번하게 사용되는 기능을 위주로 작성할 예정입니다.

1. Git의 세가지 상태

Git은 파일을 Committed, Modified, Staged 이렇게 세 가지 상태로 관리합니다.
먼저 Committed란 데이터가 로컬 데이터베이스에 안전하게 저장되었다는 것을 의미합니다.
Modified는 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 것을 말합니다. 마지막으로 Staged는 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태를 의미합니다.
 이 세 가지 상태는 Git 프로젝트의 세 가지 단계(Git Directory, Woking Directory, Staging Area)와 연결되어 있습니다.


 Git Directory는 Git이 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳을 말합니다. 이 Git Directory가 Git의 핵심이라고 할 수 있습니다. 다른 컴퓨터에 있는 저장소를 Clone할 때 이 Git Directory가 만들어집니다.
 Working Directory는 프로젝트의 특정 버전을 CheckOut 한 것을 말합니다. Git Directory는 지금 작업하는 디스크에 있고 그 디렉토리 안에 압축된 데이터베이스에서 파일을 가져와서 Working Directory를 만들게 됩니다.
 Staging Area는 Git Directory 안에 존재하고있습니다. 단순한 파일이고 곧 커밋할 파일에 대한 정보를 저장합니다.

위의 설명을 종합해보자면 Git은 다음과 같은 순서를 작업을 하게 됩니다.
 1) Working Directory에서 파일을 수정합니다.
 2) Staging Area에 파일을 Stage해서 커밋할 스냅샷을 만듭니다.
 3) Staging Area에 있는 파일들을 커밋해서 Git Directory에 영구적인 스냅샷으로 저장합니다.

상황에 따른 상태를 정리해보자면, Git Directory에 있는 파일은 Committed상태, 파일을 수정하고 Staging Area에 추가했다면 Staged, 그리고 Checkout 하고 나서 수정했지만, 아직 Staging Area에 추가하지 않았으면 Modified.

여기서 설명한 개념만 이해하고 있다면 Git에 대한 전반적인 틀에 대해 이해하신 겁니다. 그렇다면 이제 실제 Git을 설치하고 사용해보겠습니다.

2. Git 설치

 - Linux 환경
 설치한 Linux 종류에 따라 yum, apt-get 명령어를 구분해서 설치해주시면 됩니다.
$ sudo yum install git

$ sudo apt-get install git

 - Windows 환경
 윈도우 환경에서 작업하시는 사용자는 http://git-scm.com/download/win 에서 설치하실 수 있습니다.

git을 설치하셨다면 Git의 사용 환경을 설정해주셔야 합니다. 최초 한번만 설정해주면 되고 설정은 Git을 업그레이드되어도 유지됩니다.

사용설정은 git config라는 명령어를 통해 확인하고 변경할 수 있습니다. 

Git을 설치하고 가장 먼저 사용자 이름과 이메일 주소를 설정해야합니다.
 팀 프로젝트를 진행하게되면 사용자 정보가 있어야 소스 커밋 시 누가 해당 버전을 커밋했는지 알 수 있기 때문입니다.


$ git config --global user.name "KSS"
$ git config --global user.email kimss323@naver.com

그 다음으로는 Git에서 사용할 텍스트 편집기를 설정해줍니다. 기본적으로 Git은 시스템의 기본 편집기를 사용하고 보통 vi, vim 편집기를 사용합니다. 하지만 Emacs와 같은 다른 텍스트 편집기를 사용할 수 있고, 아래와 같이 실행하면 됩니다.

$ git config --global core.editor vim

이렇게 기본 설정을 완료하고 git config --list 명령어를 실행하면 설정한 모든 내역을 보여줍니다.

$ git config --list
user.name="KSS"
user.email=kimss323@naver.com
core.editor=vim
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true

여기까지 Git의 가장 중요한 개념인 Git의 상태 세가지, 그리고 다음시간부터 Git을 사용해보기 위하여 Git을 설치해보았습니다. 감사합니다.

댓글

  1. 음... 지금은 git 을 사용하고 계신가요?

    행내에서 카투스에 적용하여 IFRS9 플젝부터 사용하려다가 22번 포트가 막혀 있어서 전혀 사용할 수 없었던 기억만 남아 있네요.

    하지만 지금 다니고 있는 회사에서는 GitHub Enterprise를 마음껏 사용하고 있습니다.

    답글삭제

댓글 쓰기

주간 인기글

[정보] 인스타그램은 당신의 소리를 '듣고' 있을 수도 있습니다

[Angular] 모델, 값이 바뀌었는데 화면 template 이 업데이트 되지 않을 때 조치 팁

[AWS] Lambda + API GateWay를 이용해 간단한 RESTful API 만들기 #1

[AWS] Lambda + API GateWay를 이용해 간단한 RESTful API 만들기 #2

안드로이드에서 당겨서 새로고침(SwipeRefreshLayout) 쉽게 구현하기