본문 바로가기
ETC/Git&GitHub

[Git&GitHub] 깃/깃허브 공부기록 #1 깃 저장소 만들기 및 버전(Version) 관리하기

by yoiii 2021. 1. 7.

#1 깃 저장소 만들기 및 버전(Version) 관리하기


<목차>

#1 저장소 만들기 

#2 스테이지(stage)와 커밋(commit)에 대한 이해

#3 Hello.txt 버전 관리 실습


#1 깃 저장소 만들기 $ git init

저장소를 만들고자 하는 디렉터리로 이동해, 깃을 초기화 하면 해당 디렉터리에 있는 파일들을 버전 관리가 가능하다.

 

우선,  홈 디렉터리로 이동해, myGit 디렉터리를 생성한 후 생성한 디렉터리로, 이동한다.

$ mkdir myGit // 'myGit' directory 생성
$ cd myGit // 'myGit' directory 이동

myGit 디렉터리에, 저장소를 만들기 위해서 , 다음 명령을 입력한다.

$ git init // 깃을 사용할 수 있도록 디렉터리 초기화

 

'Initialized empty Git repository ...' 라는 메시지가 출력 된다면, 이제 해당 디렉터리에서, 깃을 사용이 가능하다.

 

 

(ls -la 명령으로 디렉터리 안을 확인해 보면 .git 이라는 버전이 저장될 저장소(repository)가 생성되어 있을 것이다.)


#2 스테이지와 커밋에 대한 이해

본격적으로 버전을 만들기 전에, 깃이 버전을 만드는 과정에 대해서 알아보자.

작업 트리 (working tree) : 파일 수정, 저장 등의 작업을 하는 디렉터리 이다. 앞서 만든, myGit이 작업 트리에 해당한다.스테이지 (Stage) : 버전으로 만들 파일이 대기하는 곳이다.

저장소 (Repository) : 스테이지에 있는 대기파일들을 버전으로 만들어 자장하는 곳이다.

 

(스테이지와 저장소는 깃을 초기화 시 만들어지는 .git 디렉터리 안에 숨긴 파일 형태로 존재한다.)

 

만약, hello.txt 파일 문서를 작성하면, hello.txt는 작업 트리에 존재한다.

 그리고, Hello.txt 파일을 버전으로 만들고 싶다면, 스테이지 영역에 넣는다. 이를 '스테이징' 이라고 한다.

마지막으로, 파일 수정을 끝내고 스테이지 영역에 넣었다면, 버전을 만들기 위해서 '커밋(commit)' 명령을 내린다.

커밋 명령을 내리면, 새로운 버전이 생성되고 스테이지에 대기하던 파일이 모두 저장소에 저장된다.

이제 실제로, 위의 과정을 실습해보자.


#3 Hello.txt 버전 관리 실습

myGit 디렉터리로 이동한 뒤, 깃 상태를 확인하는 명령을 실행한다.

$ git status

깃 상태를 나타내는 메시지가 출력된다. 차례대로 해석해 보자면,

 

On branch master : master 브랜치에 있다는 뜻이다. (브랜치는 뒤에서 설명한다.)

No commits yet : 아직 커밋한 파일이 없다.

nothing to commit : 현재 커밋할 파일이 없다.


■ "작업 트리" 에서, vim 으로 텍스트 파일 만들기 - vim hello.txt

myGit 디렉터리에서, 텍스트 파일을 만들고 수정해보자.

$ vim hello.txt

hello.txt 파일을 만들고 첫 번째 라인에 1이라고 입력후 저장한다.

(vim 사용법을 모르겠다면, #0.1 리눅스 필수 명령어 편을 보고 오자)

 

다시 git status 로, 깃의 상태를 확인해보면

hello.txt에 Untracked files 라는 문구가 붙어 있을 것이다.

깃에서 한번도 버전 관리하지 않은 파일을 Untracked files 라고 한다.

여기까지 따라왔다면, 작업트리에 성공적으로 Hello.txt 파일을 올린것이다.


■ hello.txt 스테이징 하기 - git add

작업트리에 있는 hello.txt 파일을 스테이지로 옮길 차례이다.

다음 명령을 통해 스테이징을 해보자.

$ git add hello.txt

git add스테이징할 때 사용하는 명령이다.

(git add 명령 실행 시 경고 메시지가 출력될 수 있는데, 무시해도 된다.)

$ git status

 

상태를 확인해 보면,

untracked files : 문구가 changes to be committed 로 바뀌고, hello.txt 파일 앞에 'new file:' 수식어가 추가되었다.  

이는, hello.txt를 커밋할 예정이다. 라는 뜻이다.

스테이징까지 성공적으로 끝마쳤다. 이제 커밋만 하면 된다.


■ 스테이지의 hello.txt 파일 커밋(commit)하기 - git commit

깃에서 커밋할 때는 그 버전에 어떤 변경사항이 있었는지 확인하기 위한 '메시지'함께 기록해 두어야 한다.

 

다음 명령을 입력한다.

$ git commit -m "msg1"

깃에서 커밋 명령은 git commit 이며, -m 옵션을 붙여서 커밋 메시지를 작성한다.

 

버전이 제대로 만들어 졌는지 확인해 보자. 저장소에 저장된 버전을 확인할 때는 git log 명령을 사용한다.

$ git log

커밋 메시지와 함께, 커밋을 만든 사람과 만든 시간이 함께 나타난다.

 

스테이징 후 커밋을 하는 과정이 번거롭다면, -am 옵션을 통해 스테이징과, 커밋을 한번에 처리할 수 도 있다.

$ git commit -am "msg2"


* 개인적으로 공부한 내용을 기록한 것이기에, 잘못된 내용이 있을 수도 있습니다.

댓글