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]