Git

[Git] Git Commit Message 수정하기 [ 직전 commit 수정, 여러 commit 전 수정 ]

정상호소인 2024. 3. 14. 01:28

Topic =  Commit 메세지 수정하기.


 

Push 하지 않은 내 Commit 확인하기

 

[ git bash 명령어 ]

$git log origin/브랜치이름..HEAD
  • 원격 저장소 이름이 origin 이 아닐 경우, origin도 해당 원격 저장소 이름으로 지정해주어야 한다. 일방적으로 origin을 사용.

 

 

- Push 하지 않은 커밋이 여러개면 자동으로 git bash로 다시 빠져나와지지 않는다. 이때 키보드 q를 누르면 bash 로 빠져나올 수 있다.

 

 

 

 

직전 Commit Message 수정하기 

 

[ git bash 명령어 ]

$git commit --amend

 

  • git bash에 해당 명령어 입력 시 위 와 같이 에디터가 열리는데 아래 단계를 따라서 수정해주면 된다.
    • 1. 명령모드에서 키보드 insert 키를 눌러 입력 모드로 전환하기
    • 2. 주황색 글씨의 commit 메세지 수정하기.
    • 3. esc 눌러서 명령 모드로 전환하기
    • 4. :wq 입력 → [ :w 저장하기 ] [ :q 나가기 ] 를 합쳐서 [ :wq 저장하고 나가기 ]
    • ✅ Ctrl + Z 로 되돌리기가 적용되지 않아 당황하기 쉽다. 명령모드로 전환 후 키보드 u 누르면 이전으로 되돌아감.

 

➡️ Android Studio - ESC 눌러도 명령모드로 전환 안될 시 아래 버튼 눌러 참조.

더보기

Android Studio Terminal 의 editor에서 esc 키를 눌러도 명령 모드로 전환되지 않고, 코드창으로 전환되는 문제 발생 시 해결 방법

 

 

[ 1. Android Studio Menu - File - Settings ]

 

 

[ 2. Tools - Terminal - Configure terminal keybindings ]

 

 

[ 3. Switch Focus To Editor 키 설정 해제해주기 ]

  • 해제 해놓고 다음에 필요하면 다시 되돌릴 수 있다

 

 

 

[ 이미 Push가 된 Commit ]

 

이미 Push가 된 Commit 이면 해당 브런치로 force push 해주도록 하자.

$git push origin 브런치이름 -f

 

 

 

여러 Commit 전 Commit 수정하기

 

🟥 rebase 시 코드 충돌의 위험이 있으니 별도의 branch를 생성 하여 진행하는 것이 권장된다.

 

[ git bash 명령어 ]

$git rebase -i HEAD~이전커밋수
  • 마지막 커밋으로부터 5번째에 위치한 커밋을 변경하려면 HEAD~5 와 같이 입력해주면 된다.

 

[ 수정하기 ]

  • 위 git 명령어 입력 시 설정한 갯수만큼의 커밋이 나온다
    • 1. 명령 모드에서 inset 키를 입력해 입력 모드로 전환하기.
    • 2. 수정을 원하는 commit 의 앞에 있는 pick 를 reword 로 수정하여 어떤 commit을 수정할 지 지정해주기
    • 3.  esc키를 입력해 명령모드로 전환 후 저장하고 나오기 [ :wq 입력 ] 

 

위의 절차대로 따를 시 아래와 같이 수정할 커밋 목록들이 나온다

  • 주황색 글씨의 이전 커밋 메시지를 원하는 커밋 메세지로 수정 후 esc + :wq 로 저장하면 끝.

 

 

[ 이미 Push가 된 Commit ]

 

이미 Push가 된 Commit 이면 해당 브런치로 force push 해주도록 하자.

$git push origin 브런치이름 -f

 

 

 

 

 

 


 

[ A. 오늘 복습한 내용 / B. 다음에 학습할 내용 ]

A. Git 명령어 복습

 

B. Git Flow 복습하기

 

B. 다른 사람들의 Git 버전관리 전략 리뷰해보기

 


 

[오류,에러 등등]

1. VS code에서는 esc를 누르면 명령모드로 전환이 잘 되는데, Android Studio 에서는 명령 모드로 전환되지 않고 코드창으로 포커스가 이동하는 문제

 ➡️ 해결 방법 = 본문에 계제

 


 

[느낀 점]

1. Android Studio 만 쓸 때에는 터미널을 사용하지 않고 Android Studio 에서 제공하는 Git 탭으로 사용 하다가 여러 툴을 이용해보면서 각각 Git 서비스를 제공하는 방식이 달라, 터미널 사용 방법의 중요성을 알게 됨.

 

 

 


[Reference]

 

 

Git 커밋 메시지 수정하는 법

수정하고 싶은 커밋 메시지가 가장 최근의 커밋이라면 --amend를 이용하여 간편하게 수정할 수 있다.그런데 이미 한참 커밋을 했는데 이전 커밋 메시지를 수정하고 싶으면 어떻게 해야할까?위의

velog.io