배경
깃이란 소스코드를 효과적으로 관리하기 위한 시스템이고 깃의 핵심기능은 버전관리, 백업, 협업이었다. 그 중 버전관리 기능에 대해 알아보려고 한다.
깃으로 버전을 관리한다는 것은
1) 저장소를 만들고, 2)변경사항이 있을때 버전을 생성하고, 3)다시 원상태로 돌리는 것이다.
이번에는 저장소 생성 및 버전을 생성하는 부분까지 정리해보도록 하겠다.
1. 깃 저장소 만들기
새로운 프로젝트를 하기 위해서 폴더를 만들게 되는데, 이렇게 생성된 폴더의 소스코드들을 관리하기 위해 git을 사용하려고 한다. 그러기 위해 해당 폴더에 깃 저장소를 생성해야 된다. 아래 코드를 따라가자.
mkdir project_test // project_test 폴더를 생성
cd ./project_test // project_test 저장소로 이동
git init // project_test 폴더에 저장소를 생성
// Initialized empty Git repository in C:/Users/project_test/.git/ <- 이런식으로 작성되면 해당디렉토리를 깃을 사용할 수 있다.
2. 깃 버전 생성 및 관리
① 깃의 구조
깃 버전을 생성하기에 앞서 깃의 구조에 대해 먼저 알아봐야 한다. git은 작업트리, 스테이지, 저장소 세개의 공간으로 나뉘어 지게 된다. 그리고 아래 그림의 add, commit, restore, reset의 명령어를 통해 설정이 되게 된다.
- 작업트리 : 파일 수정, 저장등의 작업을 하는 디렉토리로 위에서 보이는 ./project_test 내의 공간을 말합니다. - 스테이지 : 버전으로 만들 파일이 대기하는 곳, ./project_test에서 버전을 통해 관리하고 싶은 파일들만 스테이지로 저장하게 된다. - 저장소 : 스테이지에 대기하고 있던 파일들을 버전으로 만들어 저장. |
② 깃 버전의 생성
깃 버전의 생성 과정을 통해 status, log, add 및 commit명령어의 사용법에 대해 알아보고자 한다.
git status : 현재 작업트리의 git 상태를 확인한다. (기존 버전 대비 변경된 내용의 파일이 있는지?, 신규 생성된 파일이 있는지?) git log : 해당 branch의 버전 변경 기록을 확인한다. git add : 변경된 사항이 있을 경우. 신규버전 생성을 위해 스테이지로 변경 내용을 등록한다. git commit -m : 스테이지에 등록된 변경사항을 반영하여 신규 버전을 생성한다. |
/* 신규파일 등록 */
vi test.txt // 관리해야할 test.txt 파일 생성
// vim 편집기에서 i를 누른다 (insert : 입력)
// vim 편집기에 a/b/c/d/e를 입력한다.
// vim 편집기에서 esc버튼을 누른 뒤 wq를 작성하고 엔터 (저장후 나가기)
git status // git의 상태를 확인
// Untracked files test.txt 새로 등록한 파일이기에 git에서 추적을 못한다.
----------------------------------------------
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: hello.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
test.txt
-----------------------------------------------
/* 스테이징 */
git add test.txt // 수정 또는 생성한 파일을 스테이지로 등록한다.
git status // git의 상태를 확인
// 스테이지로 test.txt파일이 옮겨저 저장소로 커밋할 상태가 되었다.
----------------------------------------------
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: hello.txt
new file: test.txt
----------------------------------------------
/* 저장소로 커밋 */
git commit -m "new file test.txt" // 스테이지에 등록된 파일을 커밋하여 저장소로 옮겨 신규 버전저장
git log // 버전 정보들을 확인한다.
----------------------------------------------
commit 2a90767a070d85bebdbaa5f54b72b8e5d7043b45 (HEAD -> master)
Author: -----
Date: Sun Jun 26 14:01:04 2022 +0900
new file test.txt
----------------------------------------------
*Reference
- "깃&깃허브 입문" 이지스퍼블리싱
부족한 글이지만 읽어주셔서 감사합니다.
'프로그래밍 > GIT' 카테고리의 다른 글
(1-3) git 버전관리 - n번째 버전 만들기 (0) | 2022.09.28 |
---|---|
(1-2) git 버전 관리 - 첫번째 버전 만들기 (0) | 2022.09.27 |
(1-1) git 버전관리 - 사용자 등록 (0) | 2022.09.26 |
(2) Git reset, restore 버전 관리 (이전 커밋 삭제) (0) | 2022.06.28 |
(0) GIT 이란? (0) | 2022.06.25 |