버전 관리 기초 개념 및 실습

Hyun·2021년 10월 12일
0

깃 & 깃허브

목록 보기
1/7

GIT

버전 관리 시스템 중 하나이다.

  • 버전: 게임과 마친가지로 유의미한 변화가 결과물로 나온 것
  • 버전 관리: 버전을 관리하는 과정에서 협업, 되돌리기, 백업 등을 할 수 있다.
    백업시 전체를 다 백업하는게 아니라 버전별로 유의미한 변화를 중심으로 백업을 한다.
    => 효율적인 백업이 가능!!

이러한 버전 관리를 도와주는 도구가 git 이다.

코드를 담은 파일이 버전이 되기까지의 세 개의 공간

Working directory (작업공간)

  • 개발자가 코드작업을 하는 공간(변경사항이 생기는, 현재 작업을 하고 있는 공간)
  • working directory 의 모든 변경사항들을 버전으로 만들 필요는 없고, 변경 사항들 중 다음 버전이 될 파일들을 선별해서 선별된 파일들로 버전을 만든다.

Staging Area (버전이 될 후보들이 있는 공간)

  • working directory 의 변경사항들 중에서 버전이 될 후보들이 올라오는 공간
  • working directory 에서 선별된 파일들이 존재한다.

Repository (버전들이 저장되어 있는 공간, 저장소)

  • 새로 만든 버전과 지금까지의 버전들이 저장되어 있다.

세 개의 공간을 이용해 파일들이 버전이 되는 두 개의 단계로 나눌 수 있다.

1단계: Working directory -> Staging Area
2단계: Staging Area -> Repository

GIT 사용 명령어

명령어를 통해 버전관리의 흐름을 알아보자

모든 명령어는 git <명령어> 의 형태를 띠고 있다.

  • git add <파일명>: 파일을 Working directory -> Staging Area 로 옮긴다.
    추가로, git add . 를 하면 Working directory 의 모든 파일들을 Staging Area 로 옮겨준다.

  • git commit: Staging Area -> Repository 로 옮긴다. 하나의 버전으로 만들어 주는 것

실습

git_tutorial 폴더를 만들고 test.txt 파일을 생성한후, bash 를 통해 git_tutorial 폴더로 이동한다. 본인은 REPLIT 사이트를 이용하였다.

  • git init(ialize): 지금 내가 있는 폴더에서 버전 관리를 시작할거라고 알려주는 명령어
    명령어를 입력하면 해당 폴더에서 버전관리를 시작할 수 있다.

    이후 ls -al 명령어를 통해 (숨김 파일/폴더까지 포함한)모든 파일/폴더 목록을 볼 수 있다.

    폴더 이름앞에 . 이 붙어있으면 숨김폴더이다.(일단은 무시하자)

  • git status: 버전 관리가 되고 있는 이 폴더의 현 상황(상태)을 알려주는 명령어

    No commits yet: 아직까지 만들어진 버전이 없다
    Untracked files: tracked 되지않은(=add 되지 않은, 새로생긴) 파일들.
    => Working directory 안에 test.txt 라는 파일이 새로 생겼는데 아직까지 한번도 관리되지 않았다라고 알려준다.

test.txt를 Staging Area로 옮겨보자. (git add test.txt)

Changes to be commited: commit 이 될 변화사항들을 감지한다.
이제 test.txt 를 track 하고 있다.(= Staging Area 로 test.txt 가 올라왔다.)

  • git rm --cached <파일명>: Staging Area 에 올린 파일들을 다시 내릴 때 사용한다.

    이후 test2.txt 파일을 추가로 생성한 후, git add . 를 통해 모든 파일을 Staging Area 로 옮긴다.

  • git commit -m "메시지" : commit 을 할때 어떤 변경사항이 생겨서 commit 을 하는지,
    어떤 유의미한 변화를 이 버전에 담았는지를 간략하게 설명한다.

Run
  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"
  ...

이 부분은 처음 git 으로 commit 을 할 때 뜨는 메시지이다. 메시지 내용 그대로 사용자의 이메일과 이름을 입력해주면 다음부터는 나오지 않는다.

  • git log : 지금까지 만들어진 commit 내역들을 확인할 수 있다.

    노란색으로 쓰인 문자열은 방금 만든 "first commit" 메시지를 가진 commit 의 id값이라고 볼 수 있다.
    => commit(버전) 을 식별하는 문자열임을 알 수 있다.

복습

  1. test2.txt 파일의 내용을 변경해보았다.

    git status 를 통해 working directory 에 변경사항이 생겼다는 것을 알 수 있다.

  2. 변경된 test2.txt 파일을 새로운 버전으로 만들기 위해 git add 를 이용하여 working directory 에서 staging area 로 옮겨주었다.

    git status를 통해 staging area 로 test2.txt 파일이 옮겨진 것을 볼 수 있다.

  3. 이후, commit 을 이용하여 새로운 버전으로 만들어주었다.

    git log 를 이용하여 지금까지의 commit 내역을 살펴볼 수 있다.

profile
better than yesterday

0개의 댓글