Git으로 작업할 때 커밋 메시지를 편집해야 하는 상황이 발생할 수 있습니다. 오타 수정, 중요한 정보 제거 또는 추가 정보 추가와 같이 변경하고자 하는 여러 가지 이유가 있습니다.
가장 최근 또는 이전 Git 커밋의 메시지를 변경하는 방법을 설명합니다.
최근 커밋을 변경
git commit --admend 명령을 사용하여 가장 최근의 커밋 메시지를 변경할 수 있습니다.
푸시 안된 커밋
원격 리포지토리에 푸시되지 않은 가장 최근의 커밋 메시지를 변경하려면 --수정 플래그를 사용하여 다시 커밋합니다.
터미널의 리포지토리 디렉토리로 이동합니다.
다음 명령을 실행하여 최신 커밋의 메시지를 수정(변경)합니다.
git commit --amend -m "New commit message."
명령이 수행하는 작업은 새 커밋으로 가장 최근의 커밋을 덮어쓰는 것입니다.
-m 옵션을 사용하면 편집기 세션을 열지 않고 명령줄에 새 메시지를 작성할 수 있습니다.
커밋 메시지를 변경하기 전에 이전에 잊어버린 다른 변경 사항을 추가할 수도 있습니다.
git add .
git commit --amend -m "New commit message."
푸키된 커밋
수정된(변경된) 커밋은 SHA-1이 다른 새 엔티티입니다. 이전 커밋은 현재 분기에 더 이상 존재하지 않습니다.
일반적으로 이미 추진된 커밋을 수정하지 않아야 합니다. 커밋을 기반으로 한 작업자에게 문제가 발생할 수 있기 때문입니다. 푸시 커밋을 변경하기 전에 동료 개발자와 상의하는 것이 좋습니다.
가장 최근에 푸시된 커밋의 메시지를 변경한 경우 강제로 푸시해야 합니다.
리포지토리로 이동합니다.
최근 푸시된 커밋의 메시지를 수정합니다.
git commit --amend -m "New commit message."
강제 푸시하여 원격 리포지토리의 기록을 업데이트합니다.
git push --force <remoteName> <branchName>
이전 커밋 또는 여러 커밋을 변경
이전 커밋 또는 여러 커밋의 메시지를 변경해야 하는 경우 대화형 Git 재배경을 사용하여 하나 이상의 이전 커밋을 변경할 수 있습니다.
기본 재배치 명령은 커밋 기록을 다시 쓰며 원격 Git 리포지토리에 이미 푸시된 커밋의 기본 설정을 변경하는 것이 좋습니다.
변경할 커밋 메시지가 들어 있는 리포지토리로 이동합니다.
Git 재베이스 -i HEAD~N을 입력합니다. 여기서 N은 재베이스 수행을 위한 커밋 수입니다. 예를 들어 4번째 및 5번째 최신 커밋을 변경하려면 다음을 입력합니다.
명령은 기본 텍스트 편집기에 최신 X 커밋을 표시합니다.
변경할 커밋 메시지의 행으로 이동하고 픽을 다음 단어로 바꿉니다.
git rebase -i HEAD~5
# pick 43f8707f9 fix: update dependency json5 to ^2.1.1
# pick cea1fb88a fix: update dependency verdaccio to ^4.3.3
# pick aa540c364 fix: update dependency webpack-dev-server to ^3.8.2
# pick c5e078656 chore: update dependency flow-bin to ^0.109.0
# pick 11ce0ab34 fix: Fix spelling.
#
# Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)
변경 내용을 저장하고 편집기를 닫습니다.
선택한 각 커밋에 대해 새 텍스트 편집기 창이 열립니다. 커밋 메시지를 변경하고 파일을 저장한 다음 편집기를 닫습니다.
fix: update dependency json5 to ^2.1.1
변경 내용을 원격 리포지토리에 강제 푸시합니다.
git push --force <remoteName> <branchName>
가장 최근의 커밋 메시지를 변경하려면 git 커밋 --수정 명령을 사용합니다. 이전 또는 여러 커밋 메시지를 변경하려면 -i HEAD~N의 Git 기본 배지를 사용합니다.
푸시 커밋은 동료에게 많은 문제를 일으킬 수 있으므로 수정하지 마십시오.
'SW > 리눅스' 카테고리의 다른 글
Linux : CentOS 8 : Nginx 설치 방법, 예제, 명령어 (0) | 2022.03.17 |
---|---|
Linux : Docker Container 연결 방법, 예제, 명령어 (0) | 2022.03.15 |
Linux : Bash Scripts에 주석 작성 방법, 예제, 명령어 (0) | 2022.03.13 |
Linux : CentOS 8 : Java 설치 방법, 예제, 명령어 (0) | 2022.03.12 |
Linux : Git 서버 설정 방법, 예제, 명령어 (0) | 2022.03.11 |