본문 바로가기
뒷북 정리 (국비 교육)/git, github

Git command : commit

by 규글 2022. 3. 30.

commit : 버전 등록하기 (변경 사항에 대한 버전을 repository에 등록)

 commit은 Git repository(저장소)에 저장하는 명령어이다. add 명령어로 변경 사항을 추가한 후, 해당 변경 사항들을 저장하기 위해서 사용한다. 하지만 기존에 어떤 설정도 하지 않았을 경우에 commit을 하게 된 것이라면 다음과 같은 메시지를 보게 될 것이다.

 

>>> git config --global -e

 메시지가 요구하는 그대로 입력하면 commit을 진행할 수 있다. 해당 메시지는 작업 환경에서 global하게 적용되는 configuration file의 user 정보의 email과 name에 대한 설정이 필요하기 때문에 등장한 것이다. 사용하는 email과 name을 작성해주면 이어서 commit을 정상적으로 수행할 수 있게 된다.

 혹은 e 옵션을 주고 config 명령어를 실행하여 아래 이미지처럼 관련 configuration file을 볼 수 있고, 수정도 가능하다.

 

 

>>> git commit -m "commit message"

 commit 명령어에 m 옵션을 줘서 수행하고 난 뒤의 결과이다. commit을 하면 working tree가 clean하다고 나온다. 이후에 commit한 파일을 다시금 수정한다면 그 파일은 repository의 파일과는 다른 것이 되기 때문에 clean이라는 메시지를 확인할 수 없으며, 새로운 변경사항이기 때문에 add와 commit을 수행해야한다.

 

 이렇게 파일을 하나 만들고 add로 그 파일을 stage에 올리고 commit을 진행했는데, 이는 stage에 피사체를 올려서 사진을 찍는 과정에 비유할 수 있다. 피사체를 stage에 올리는 것이 add, 사진을 찍는 것이 commit, 그렇게 찍은 사진을 보관하는 곳이 repository라고 할 수 있다.

 

 

>>> git commit

 아무런 옵션 없이 commit 명령어를 사용하면 위와 같이 기본적인 템플릿이 나오지만, 보통은 commit title을 작성하고, 조금 더 자세한 description을 작성하는 것으로 진행한다.

 

 작성 후 저장을 하면 첫 번째 줄에 master branch에 hash code의 앞부분, hash code id와 title이 표기되며, 어떤 파일이 바뀌었는지의 변경사항을 다시 확인할 수 있다. 예시의 경우는 세 개의 파일이 처음으로 만들어졌다는 점도 확인할 수 있다.

 곧 다시 하겠지만 history를 확인하기 위해서 git log 명령어를 이용하면 commit과 전체적인 hash code가 나오는 걸 확인할 수 있고, 누가 언제 했는지, title description 정보까지 확인할 수 있다. 하지만 이런 식으로 바로 commit 명령어만 사용하는 경우는 거의 없다고 한다.

 

>>> git commit –am "commit message"

 파일 수정 후 수정된 파일을 staging area로 옮긴 다음 commit 해야하지만, working directory의 변경사항이 모두 마음에 들어서 add를 사용하지 않고도 commit 하는 방법도 있다. a 옵션은 working directory의 모든(all) 파일을 의미한다.

'뒷북 정리 (국비 교육) > git, github' 카테고리의 다른 글

Git command : branch  (0) 2022.03.30
Git command : log, checkout  (0) 2022.03.30
Git command : status (feat. ignore)  (0) 2022.03.30
Git command : add (feat.crlf)  (0) 2022.03.30
Git command : init  (0) 2022.03.30

댓글