Git - 기본기 마스터 : git commit 하는 방법

1. Commit 하기

git commit 이라는 명령어를 통해서 stage area에 있는 파일들을 git repository에 저장할 수 있다.

그럼 commit을 해서 첫 version을 만들어보자.

 

위와 같이 커밋할 준비가 되어있는(stage area에 올라와 있는) 3가지 파일들을 commit 해주면 아래와 같다.

 

commit명령어 실행시 기본적인 탬플릿이 나오는데 보통 Title과 Description을 작성해준다.

 

만약 history를 확인하고 싶을 경우에는 git log 명령어를 이용한다.

그럼 위와 같이 누가했는지, 언제했는지 그리고 Title과 Description을 확인할수 있다.

 

 

2. Second Commit 

만약 커밋한 이후 변경된 사항이 있다면 전부다 add로 stage에 올려준다음에 n번째 커밋(n번째 version)을 해주는데

이때 보통 git commit -m 이라는 옵션을 주면서 커밋을 해준다. (m : message)

 

다음 예시를 살펴보자

c.txt 라는 파일에 add라는 문자를 추가해주는 수정작업이  일어났고 

git add . 라는 명령어로 working directory에 있는 모든 파일들을 stage  area에 올려준뒤

git commit -m "second commit" 이런식으로 커밋을 해주었다.

 

이에 대한 histoy를 확인해보면

second commit이 일어났음을 확인 할 수 있다. 이렇게 n번재 commit임을 구분짓기 위해 -m이라는 옵션을 사용한다.

 

 

또 만약에 자신의 working directory에 있는 모든 파일들의 수정사항이 맘에 들 경우 그래서 

add라는 것을 굳이 사용하지 않고 커밋을 해줄 수 있는 상황이 있는데 그때는 all message 옵션을 이용한다

git commit -am "third commit"

 

이것을 예시로 확인하면 아래와 같다.

 

 

이런식으로 commit을 해나가면 되며 history 전체적인 어플리케이션을 만들어서 저장하는 것은 의미가 없다.

어플리케이션을 세분화해서 기능별로 단위를 만들어서 저장하는 것이 좋다.

 

commit을 할대도 위와 같이 의미없는 네이밍을 하기보다는 기능별로 의미있게 네이밍해두는 것이 작업내용을 파악하는데 훨씬 더 도움이 된다.

 

예를 들면

 

 이런식으로 작은 단위로 그리고 의미있는 네이밍을 해서 저장한다면 

history를 보기만해도 작업한 내용도 빠르게 확인해볼 수 있고 내가 원하는 변경 사항을 빠르게 찾아서

자세히 확인해볼 수 있고 원하지 않는 커밋을 취소할 때도 편하다.

 

보통 커밋의 메시지는 현재형, 동사형 으로 만들어준다.

 

또 이러한 커밋을 할때 주의할 점은

 

  만약 login Module의 Crashing을 고쳤다하면 Fix Creashing on loing Module 라고 네이밍 짓는 것은 좋은데

네이밍 한 내용으로만 커밋을 만들어야지 이왕 하는김에 다른 버그도 고치고 리팩토링도하고 커밋할까? 라는 생각은

코드를 리뷰할때도 혼동이 오고 히스토리를 볼 때도 혼동이 오게된다.

 

따라서 커밋 메시지에 맞게 해당하는 내용만 작업해서 커밋하는 것이 중요하다.