본문 바로가기

Git

[Git] Staging Area, Commit

반응형

git이 변경이력을 저장하려면 일련의 순서를 지켜야 한다.

이 그림만 잘 기억한다면 git의 기본은 안다고 할수 있겠다.

 

git으로 하는 일은 기본적으로 아래와 같다.

  1. 워킹 디렉토리에서 파일을 추가,수정,삭제,생성 한다.
  2. Staging Area에 있는 파일을 Stage 해서 커밋할 스냅샷을 만든다. 모든 파일을 추가 할수도 있고, 선택하여 추가할수도 있다.
  3. Staging Area에 있는 파일들을 커밋해서 git 디렉토리에 영구적인 스냅샷으로 저장한다.

이 일련에 순서에 따라서 깃에 변경이력을 남기는 작업을 하게 되는것이다.

실제로 커밋하는 예제를 보자.


1. 워킹 디렉토리에서 파일을 추가,수정,삭제,생성한다.

git을 쓰기위한 기본조건은 워킹디렉토리에 git init 명령어를 사용하는것을 기본 전제로 한다.

좌측에서 폴더 구조를 보면 파일의 색이 달라지는 걸 볼수가 있다.

git이 워킹디렉토리에 어떤 변화가 있는지 알고있다는 뜻이다.

 

2. 추가,수정,삭제,생성 한 파일을 Staging Area에 추가한다.

git status명령어로 워킹 디렉토리의 현재 git 상태를 알수가 있다. 

index.html은 이미 git이 그 변경사항을 알고 있지만 새로만든 sample.html은 그 변경사항을 git이 알지를 못한다.

git이 알게하기 위해서 git add 명령어로 변경사항을 추적할수가 있고 동시에 staging area에 올라가게 된다.

git add . 명령어를 써서 모든 변경사항이 있는 파일을 staging area에 올린 상태다.

commit할 준비가 모두 끝난 상태라고 보면된다.

 

3. Staging Area에 있는 파일들을 커밋해서 git 디렉토리에 영구적인 스냅샷으로 저장한다.

변경이력이 저장되었다. 스냅샷으로 남은 소스코드는 추후 다시 소스코드를 수정해도 이 상태로 돌아갈수 있다.

(위에 그림설명을 자세히 보면 어떤형식으로 되는지 알수 있을것이다.)

 

4. bonus) git commit log 보기

git log 명령어를 실행하면 commit을 언제 어떤 메시지로 했는지 볼수가 있다. 돌아가고 싶은 commit이 있을때 이 log에 찍힌 commit의 고유값으로 돌아갈수가 있다.


git에서 commit하는것이 가장 기본이다. 이 명령어를 가장 많이 사용하니까 꼭 알아두자.

 

반응형