글 작성자: juyoungit

git commit

Working Directory에서 작업한 내용을 Git Repository에 반영

단, Working Directory에서 작업한 내용을 commit하기 위해서는 작업내용과 관련된 파일들이 Staging Area에 add 되어 있어야 하며, Staging Area에 add 되어 있지 않은 내용에 대해서는 commit할 수 없다.

 

아래와 같은 내용의 "ex.c" 파일을 작성해서 Staging Area에 add 시켰다.

그리고 이 상태에서 git commit을 입력하면 아래와 같이 vi 편집기가 실행된다. 아래 vi 편집기를 통해서 볼 수 있듯이 '#'로 시작되는 부분은 모두 주석에 해당하는 부분으로서 해당 부분을 제외한 입력된 나머지 부분들이 해당 commit에 대한 commit message가 된다. 즉, 별도의 옵션 없이 git commit 명령을 입력하면 사용자로부터 해당 commit에 대한 message를 입력받기 위해서 vi 편집기가 실행된다. vi와 관련된 내용은 나중에 다루겠지만, vi는 사용법이 상당히 까다롭기 때문에 단순히 git commit 명령을 옵션없이 사용하는 것은 commit message를 입력하는 과정에 있어서 다소 번거롭다.

git commit -m "message"

별도의 편집기를 실행하지 않고 "message" 부분의 내용을 commit message로 하여 commit 수행

그래서 -m 옵션을 사용하면 아래와 같이 git commit 명령을 입력함과 동시에 사용할 commit message 또한 " " 사이에 입력하여 전달하게 된다. 이렇게 하면 commit message를 입력하기 위해 vi를 실행할 필요가 없기 때문에 그 절차가 훨신 간편하다. git log를 사용하여 확인해보면 git commit 명령을 입력하면서 함께 전달한 commit message가 정상적으로 들어간 것을  확인할 수 있다.

git commit -am "message"

별도의 편집기를 실행하지 않고 "message" 부분의 내용을 commit message 로 하여 commit 수행 (add와 함께 수행)

-a 옵션을 -m 옵션과 함께 사용하면 git add와 git commit을 함께 수행하게 되서 commit을 위한 절차가 더 단순해진다. git add도 함께 수행한다는 점을 제외하면 나머지 부분들은 -m 옵션과 동일하다.

 

아래와 같이 Working Directory에 commit 해야하는 파일이 존재하는 경우 여기서 -a 옵션을 함께 사용하여 git commit 명령을 입력하면 별도의 git add 명령을 입력하는 절차 필요없이 바로 Working Directory파일이 commit 된 것을 확인할 수 있다.

'Tools > Git, Github' 카테고리의 다른 글

git mv - 파일이름 변경하기  (0) 2021.01.13
git rm - 파일 삭제하기  (0) 2021.01.12
git diff - 변경 내용 살펴보기  (0) 2021.01.10
git log - commit 기록 조회하기  (0) 2021.01.09
git status, add, reset, commit  (0) 2021.01.08