그럼에도 불구하고

👨‍💻

[Git, GitHub] commit, commit message 수정하는 법 본문

이모저모/Git, GitHub

[Git, GitHub] commit, commit message 수정하는 법

zenghyun 2023. 6. 30. 13:48

오늘은 git commit과 commit message를 수정하는 법에 대해 알아보겠습니다.

 

목차

     

     

    [ commit 수정 ]

    git으로 작업할 때, 새 커밋을 실행한 다음 그 커밋에 관련 파일을 포함시키는 것을 잊었거나, 커밋 메시지를 읽었을 때 오타가 있는 것을 뒤늦게 깨달을 때가 있습니다.

     

    이를 해결하는 방법에 대해 알아보겠습니다.

     

    💡 전제 조건: local에서 commit을 하고 push를 하지 않아 remote에 올라가지 않은 상태여야 한다.

     

    📌 1. git commit --amend

    $ git status 
    
    ----
    	modify: **/js 등등 
    ----
    
    $ git add. 
    
    $ git commit -m "Upload filename"
    
    
    $ git commit --amend

     

    위와 같이 amend를 이용하면 가장 마지막에 commit 한 내용을 수정할 수 있습니다. 

     

    git commit --amend를 사용하고 커밋을 수정할 수 있는 창이 나타나면, i를 눌러 Insert 상태로 만든 후 수정한 다음 

    esc를 누르고 :wq (저장 + 창닫기)를 해주면 됩니다. 

     

     

    ※ 정리

    1. $ git commit --amend 

    2. $ i => Insert 상태로 변경 

    3. commit message 수정

    4. esc 누르고 :wq 입력 

     

     

    📌 2.  오래된 commit 수정하거나 번에 여러 commit 수정하고 싶을  

    $ git log

     

    터미널에 git log를 입력하면 그간 내가 작업한 파일의 commit log를 확인할 수 있습니다. 

     

     

    여기서 조금 더 간략하게 보고싶을 때는 아래의 명령어를 사용해 주세요! 

     

    $ git log --oneline

     

     

    위와 같이 commit message만 축약된 log를 확인할 수 있습니다!!

     

    git log를 사용하면 전체 log를 보여주게 되는데요. 

     

    여기서 내가 보고싶은 log의 수를 제한해서 볼 수 있는 방법이 있습니다. 

     

    git rebase -i HEAD~(내가 보고싶은 log의 수) 
    
    ex) git rebase -i HEAD~3

     

     

     

    위와 같이 이 커맨드를 사용하면 현재 작업 중인 브랜치의 가장 최근 commit 3개를 보여주게 됩니다. 

     

    여기서 수정하고 싶은 커밋 옆의 pickreword로 바꿔주면 됩니다.

     

     

    i를 눌러 Insert 상태로 바꾼 상태에서 reword로 바꾼 후 esc => :wq를 통해 커밋리스트를 저장해주고 나면, reword로 바꾼 커밋을 수정할 수 있는 창이 띄워지게 됩니다.

    ( reword를 두번째 commit message에도 적용한 경우 두 개의 커밋을 각각 수정할 수 있는 창을 순서대로 보여줍니다. )

     

     

    ※ 정리

    1. $ git rebase -i HEAD~(내가 보고 싶은 개수) 

    2. $ i => Insert 상태로 변경 

    3. pick을 reword로 변경 

    4. esc 누르고 :wq 입력 

    5. commit message 수정

    6. :wq 입력 

    Comments