본문 바로가기
IT

Git이라는 버전관리 시스템

by Oh.mogilalia 2016. 1. 12.
1. 터미널을 열고 Git 설치

sudo apt-get install git


2. 터미널에서 git 입력하고 아래 화면 확인



3. 자신이 누구인지를 Git에 등록한다. 

git config --global user.name "mogibu"

git config --global user.email "mogibu@gmail.com"


4. 에디터 수업에서  생성한 /var/www/html/mogibututorials 디렉토리의 파일들을 버전관리 해볼 것이다.

cd /var/www/html/mogibututorials/

현재의 디렉토리에서 버전관리를 시작하겠다는 의미의 명령을 실행한다.

git init

Initialized empty Git repository in /var/www/html/mogibututorials/.git/ 

위 내용이 나타나면 성공


5. 아래의 명령으로 현재의 버전관리 상태를 체크한다.

git status


아래 내용 출력

On branch master


Initial commit


Untracked files:

  (use "git add <file>..." to include in what will be committed)


.project

.settings/

index.html


nothing added to commit but untracked files present (use "git add" to track)

Untracked files: 항목 아래에 있는 파일들은 버전관리가 되고 있지 않은 파일들이라는 의미다.


6. 파일들을 버전관리 하기 위한 명령은 아래와 같다. 그런데 이 파일 중 .project 와 .settings/ 는 Aptana가 필요에 의해서 만든 파일이다. 즉 소스코드가 아니기 때문에 버전관리를 하지 않을 것이다. index.html 파일만 버전 관리 대상이다.

git add index.html


7. git status 명령을 다시 내려본다.

git status


아래 내용 출력

On branch master


Initial commit


Changes to be committed:

  (use "git rm --cached <file>..." to unstage)


new file:   index.html


Untracked files:

  (use "git add <file>..." to include in what will be committed)


.project

.settings/

Change to be commited 아래에 index.html이 소속되어 있다. 이것은 index.html 파일이 버전관리 중이라는 의미다.  나머지 파일은 여전히 untracked 상태에 남아있는데, 이것은 git add index.html 명령을 통해서 index.html 파일만 버전관리를 시작했기 때문이다.


8. 변경된 파일을 저장소에 저장한다. 이때 커밋(commit)이라는 명령어를 사용하는데 커밋은 버전관리가 되고 있는 파일 중에 변경된 파일이 있다면 변경된 내용들을 저장소라는 곳에 저장하라는 의미다. 이때 이력을 남겨서 어떤 작업을 했는지 기록할 수 있다.


commit 명령을 실행해보자. '-am'의 의미는 지금은 덮어두자. 'add index.html' 는 작업이력이다. 이번 버전에 대한 일종의 메모라고 생각하면 된다.

git commit -am 'add index.html'


9. 작업이력을 살펴보자. 아래와 같이 입력한다.

git log


mogibu@mogibu-PC:/var/www/html/mogibututorials$ git log

commit 51c5534a1724f03beea1b83749c11473af167a56

Author: mogibu <mogibu@gmail.com>

Date:   Tue Jan 12 12:19:10 2016 +0900


    add index.html


10. 파일을 수정한 후에 7번부터 9번까지의 과정을 반복해보면 버전관리 활동의 윤곽이 잡힐 것이다. 사실 버전관리는 이보다 복잡하지만 파일을 수정하고, 커밋하고 하는 이 단순한 습관만으로도 많은 것을 할 수 있다. 그러다 좀 더 복잡한 문제에 직면하면 절박함이라는 강력한 카리스마가 우리를 이끌 것이다. 무엇보다 지금은 버전관리를 익히는 것이 목적이 아니기 때문에, 버전관리가 무엇인지를 아는 것으로 충분하다.


참고 git log에서 빠져나가고 싶을 때는 Q 버튼을 누르면 된다.


출처 : egoing 아저씨 생활코딩