배경

첫 번째 버전을 만들어 가면서 git이 버전을 어떻게 운용하고 관리하는지 알아보고자 한다. 

 

 

 

1. git init


처음 git을 사용하기 위해선 버전을 만들고 관리하기 위한 폴더를 하나 선정해야 한다. 그리고 해당 폴더에 git init 명령어를 사용하여 버전 관리를 하겠다고 설정해주어야 한다. 

본인은 바탕화면에 tmp_git_1이라는 폴더를 만들고 해당 폴더 안에 파일들을 버전으로 관리하고자 한다.

아래 명령어를 따라하면 git 초기 설정을 할 수 있다. 

$ mkdir tmp_git_1  // tmp_git_1 폴더 생성

$ cd tmp_git_1  // tmp_git_1 폴더로 이동

$ git init  // 해당 폴더 git repository 설정
Initialized empty Git repository in C:/Users/kkc28/tmp_git_1/.git/

$ ll -a  // 폴더 전체를 보면 .git폴더 생성
total 24
drwxr-xr-x 1 kkc28 197609 0 Sep 26 23:55 ./
drwxr-xr-x 1 kkc28 197609 0 Sep 26 23:55 ../
drwxr-xr-x 1 kkc28 197609 0 Sep 26 23:55 .git/

 

 

2. touch A.txt


git repository 설정이 완료되었으면, 버전 관리할 파일을 생성한다. 샘플로 touch 명령어를 사용하여 A.txt파일을 만들도록 하겠다. 독자들은 vi편집기든 여러 편집기를 사용해서 폴더를 작성해도 된다.

 

$ touch A.txt // A.txt 파일 생성

$ ll  // A.txt생성 확인
total 0
-rw-r--r-- 1 kkc28 197609 0 Sep 27 00:04 A.txt


 

 

 

3. git status


버전을 관리할 파일을 생성 완료하였으면, git status 명령어를 통해 상태를 확인한다. 파일들의 상태는 Untracked / Tracked -( modified / Unmodified ) / Staged 이렇게 나눌 수 있다. 각각의 상태는 다음과 같이 설명할 수 있다.


- Untracked : 해당 파일이 추적되지 않는 상태고, 버전 관리가 되지 않고 있는 상태
- Tracked > modified : 해당 파일이 추적되는 상태이고, 이전 버전과 현재 파일이 수정된 상태
- Tracked > unmodified : 해당 파일이 추적되는 상태이고, 이전 버전과 현재 파일의 내용이 같은 상태
- Staged : 해당 파일이 추적되어 있는 상태이고, 해당 파일을 최신 버전으로 업로드 하기 직전 상태

 

 

$ git status
No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
bash: $: command not found
        A.txt

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


위에 상태를 보면 새로 만든 A.txt는 Untracked인 상태이다. 해당 폴더 및 파일은 별도로 버전을 생성한 적이 없기 때문이다. 

 

4. git add, git commit


우리는 A.txt를 신규 버전에 포함된 파일로 등록하려고 한다. 이를 위해선 해당 파일을 stage에 올리고, commit을 해야 한다. 여기서 stage란 가상의 장소로 변경점이 있거나 새롭게 버전에 포함시키려 하는 폴더들을 올리려는 무대라고 생각하면 된다.  

파일을 stage에 올리는 방법은 1) git add <filename> 명령어를 사용한다. stage에 버전으로 등록하려는 파일이 올라가면, 이후 2) git commit -m "<버전을 설명할 수 있는 정보>"로 버전을 생성한다. 

 

*commit은 완료한다는 뜻으로 "어떤 버전으로 이름을 등록하고 버전을 완료한다" 이정도로 이해하면 된다. 

 

$ git add A.txt  // stage에 A.txt올리기


$ git status  // git 상태 확인 -> untracked에서 staged되었다. 아래 changes to commited가 staged의 뜻
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   A.txt


$ git commit -m "first version upload A.txt"  // git commit을 통해 버전 등록
[master (root-commit) 39c17eb] first version upload A.txt
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 A.txt

$ git log  // git 버전 등록 완료 
commit 39c17ebc124b5e5171878dbe1d1293f39fa65132 (HEAD -> master)
Author: 
Date:   Tue Sep 27 00:26:53 2022 +0900

    first version upload A.txt

이상으로 git을 이용해 첫번째 버전을 만들어 보았다. 

 

 

*Reference

- "지옥에서 온 문서 관리자 깃&깃허브 입문" 이지스버블리싱 - 이고요, 고경희 지음

 

부족한 글이지만 읽어주셔서 감사합니다. 

+ Recent posts