[깃/Git/깃허브/GitHub] 깃으로 버전 관리하기

2020. 7. 30. 11:0003. Resources/Git

728x90
반응형

Ch2. 깃으로 버전 관리하기

깃 저장소 만들기

깃 초기화하기, 깃 시작하기

깃으로 관리할 디렉토리를 만들고, 해당 디렉토리를 깃으로 관리하는 방법

mkdir hello-git # 지금 표시된 디렉토리에 hello-git 이라는 폴더 생성
cd hello-git # 방금 만든 폴더(hello-git)로 이동

git init # 깃을 사용할 수 있도록 이 디렉터리를 초기화

위와 같은 작업을 마치고 나면 초기화되었다는 말과 함께 디렉토리 이름 옆에 (master) 라는 표시가 생기게 된다.
그리고 나서 디렉토리에 들어있는 파일을 조회해보면, .git 이라는 폴더가 생긴 것을 볼 수 있다.


버전 만들기

깃에서의 버전

문서를 수정하고 저장할 때마다 생기는 것

스테이지와 커밋 이해하기

깃에서 필요한 개념

  • 작업 트리 (working tree)
    • 파일 수정, 저장 등의 작업을 하는 디렉토리, 작업 디렉토리 (working directory) 라고도 부름
  • 스테이지 (stage)
    • 버전으로 만들 파일이 대기하는 곳, 스테이징 영역 (staging area) 이라고도 부름
    • 버전으로 만들 파일만 스테이지로 넘겨주면 된다.
  • 저장소 (repository)
    • 스테이지에 대기하던 파일을 버전으로 만들어 저장하는 곳

예시

  1. Hello.txt 라는 파일 문서를 생성하고 수정한 뒤 저장하면 작업 트리에 존재
  2. Hello.txt 를 버전으로 만들고 싶으면 해당 파일을 스테이지에 넣음
  3. 스테이지에 있는 파일들을 버전으로 만들기 위해 커밋(commit) 명령 내림
  4. 스테이지에 있던 파일들이 저장소에 저장

스테이지, 커밋을 위한 명령어

작업한 파일을 스테이지, 커밋을 하기 위해서는 해당 파일이 현재 작업 트리에서 어떤 상태인지 확인할 필요가 있다.

# 작업 트리에 있는 파일들의 현재 상태를 확인하는 명령어
git status

위의 명령어를 이용하면, 현재 파일들이 작업 트리에서 어떤 상태인지 확인할 수 있다.
트리의 상태에는 작업 트리의 상태에서 "untracked files" 로 분류되는 파일은 현재 저장소에서 한 번도 버전 관리가 되지 않은 파일이다.


버전 관리가 되지 않은 파일, 수정한 파일의 버전 관리를 위해서는 스테이지에 추가해야 한다.

git add (버전 관리할 파일의 이름)

위의 명령어를 이용하면, 버전 관리를 할 파일들이 버전 관리를 위해 대기 중인 스테이지에 들어가게 된다. 또한, 이 작업이 정상적으로 이루어졌을 때에는 작업 트리의 상태가 "changes to be committed" 로 바뀌게 된다.


마지막으로 스테이지에 올라와있는 파일을 저장소에 새로운 버전으로 저장해야 한다. 이를 커밋이라 부른다.

git commit -m "message1"

위의 명령어를 이용하여 저장소에 수정한 파일의 새로운 버전을 저장할 수 있다. 이 때, ' commit ' 뒤에 붙는 옵션 ' -m "message1" ' 은 해당 버전을 저장할 때, "message1" 이라는 메시지를 같이 남기겠다는 뜻이다. 위의 작업을 한 뒤에 현재 작업 트리의 상태를 확인해보면 nothing to commit, working tree clean 이라는 메시지를 볼 수 있을 것이다.


또한, 내가 작업 트리에서 커밋한 내역을 확인할 수도 있다.

git log

위의 명령어를 이용한다면, 커밋한 버전에 대한 설명을 볼 수 있다. "-m" 옵션을 이용하여 메시지를 추가했다면, 해당 메시지도 함께 볼 수 있다.

반응형