Appia의 IT세상

[깃, Git] Git의 Amending Commit(Commit시 누락한 파일 추가하기 및 commit 메시지 수정하기) 본문

IT_OS_ETC../[OS]Windows10&11

[깃, Git] Git의 Amending Commit(Commit시 누락한 파일 추가하기 및 commit 메시지 수정하기)

Appia 2023. 11. 15. 07:36
반응형

[깃, Git] Git의 Amending Commit(Commit시 누락한 파일 추가하기 및 commit 메시지 수정하기)

[깃, Git] Git의 Amending Commit(Commit시 누락한 파일 추가하기 및 commit 메시지 수정하기)

이전 포스팅에서는 Git GUI Client를 이용하여 Commit을 하는 방법에 대해서 살펴봤습니다. 이전과 달리, Command가 아니라서, 편한것은 있었지만, 아직까지 저는 구식이라서 그런지 몰라도 Command가 편합니다. 물론 회사에서 작업을 하고, 프로젝트 진행시에는 거의 command를 안치지는 경향이 있지만요. 이번 포스팅에서는 Amending Commit이라는 내용에 대해서 이야기를 해볼려고합니다. 

[깃, Git] git add와 git commit 하기(with git log)
 

[깃, Git] git add와 git commit 하기(with git log)

[깃, Git] git add와 git commit 하기(with git log) 앞선 포스팅에서는 git commit개념 및 workflow에 대해서 살펴봤습니다. 물론, 이론적으로 어떠한 단계로 commit이 이루어지는 지에 대해서는 인지를 하셨을 것

appia.tistory.com

먼저, Amend라는 기능은 commit의 하나의 옵션입니다. 이 부분은 바로 이전 commit에 대해서 누락된 파일을 추가하거나, 아니면 commit 메시지를 변경할 수 있도록 기회를 줍니다. (단, 바로 이전에 commit에 한하여 기회가 제공이 됩니다.) 10번의 commit중 10번째만 수정이 진행이 가능합니다. 1~9번째 commit에 대해서는 해당 되지 않습니다. 이 Amend라는 옵션을 사용하는 것을 Amending commit이라고도 합니다. 사용빈도가 매우 많지는 않지만, 그래도 알고 있으면 매우 유용한 기능입니다. 그러면 저희는 간단한 예시를 통해서 이 기능에 대해서 함께 살펴보도록 하겠습니다. 

 

먼저 commit정보에 대해서 git log 명령어를 통해서 한번 살펴보겠습니다. 

$ git log

위의 명령어를 통해서, 현재 Repository에 대한 commit 정보에 대해서 살펴볼 수 있습니다.

현재의 git commit 정보

그런데, 제가 혹 마지막 commit에서 파일을 하나 누락하였다고 가정하겠습니다. 물론, 이 부분을 별도의 commit으로 진행을 할수도 있습니다. 하지만, 그럴 경우 한 두번의 경우는 상관이 없지만, 횟수가 잦아지면, Repository가 복잡해지겠죠. 그래서 amend 옵션을 사용할 예정입니다. 다음 명령어를 통해서 파일을 하나 추가해보도록 하겠습니다. 

$ touch forgetten_file.log

위의 명령어를 통해서 파일을 생성해보겠습니다. 

누락한 파일 생성

위에서 생성한 파일은 이전 commit에서 포함되어야 할 파일이었다고 가정을 하고, git add를 통해서 stage로 올리도록 하겠습니다. 

$ git add forgetten_file.log

 

추가한 파일 stage에 올림

위의 과정을 거친 후에, 다음 명령어를 입력하도록 하겠습니다. 

$ git commit --amend

위의 명령어를 실행해보도록 하겠습니다. 

git commit --amend 실행결과

그랬더니, 이전에 설정된 에디터 창을 통해, 현재 commit 메시지가 나타난 것을 알 수 있습니다. 이 부분을 수정해보도록 하겠습니다. 

기존 commit 메시지

위의 부분에서 한글을 영어로 바꾸고, 내용을 바꾸도록 하겠습니다. 

변경된 commit 메시지

위와 같은 방법으로 기존 마지막 commit의 메시지를 수정하고 저장 후에 종료하도록 하겠습니다. 그랬더니, 다음과 같이 commit이 진행된 것을 알 수 있습니다. 

git commit --amend 실행 결과

그리고 나서 다음 명령어를 통해서 현재 commit상태를 확인해보도록 하겠습니다. 

$ git status

위의 명령어를 실행해보니, 다음과 같이 현재 git commit 결과를 보여줍니다. 

git commit --amend 결과 확인

 

위의 명령어를 통해서, 추가 commit 없이 마지막에 추가된 파일이, 이전 commit에 추가되었음을 알 수 있습니다. 물론, 수정한 commit 메시지 또한 변경이 된 것을 확인할 수 있었습니다. 이와 같은 방법으로 git commit --amend을 통하여 amending commit을 진행할 수 있습니다. 

[깃, Git] Git의 commit 정보 확인하기 (feat. git log)

 

[깃, Git] Git의 commit 정보 확인하기 (feat. git log)

[깃, Git] Git의 commit 정보 확인하기 (feat. git log) 이전 포스팅에서, git의 기본 편집기을 변경하는 방법에 대해서 대해서 알아봤습니다. 이전 부분을 통해서 commit 메시지가 길거나, 많은 내용을 담아

appia.tistory.com

 

이번 포스팅에서는 [깃, Git] Git의 Amending Commit(Commit시 누락한 파일 추가하기 및 commit 메시지 수정하기)라는 주제로 이야기를 해봤습니다. 실제, commit 뿐 아니라, 브랜치에 대해서 amend 옵션을 사용하기는 하지만, 이 부분은 향후 브랜치에 대해서 이야기를 하면서 함께 진행을 해볼까 합니다. 이번 포스팅에서는 이 기능을 통해서 바로 이전의 commit에 대해서 파일을 추가하거나 commit 메시지를 변경할 수 있었습니다. 혹 궁금하신점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 

반응형
Comments