기계적 인조 인간

자식 커밋 메시지를 변경하는 방법

가상화 도입! 비싸잖아? 모르는 소리

가상화 도입! 비싸잖아? 모르는 소리

차례:

Anonim

Git으로 작업 할 때 커밋 메시지를 편집해야하는 상황이 발생할 수 있습니다. 오타 수정, 중요한 정보 제거 또는 추가 정보 추가와 같이 변경하려는 이유는 여러 가지가 있습니다.

이 안내서는 가장 최근 또는 이전 Git 커밋 메시지를 변경하는 방법을 설명합니다.

가장 최근의 커밋 변경

git commit --amend 명령을 사용하면 가장 최근의 커밋 메시지를 변경할 수 있습니다.

커밋되지 않은 푸시

원격 저장소로 푸시되지 않은 가장 최근의 커밋 메시지를 변경하려면 --amend 플래그를 사용하여 다시 커밋하십시오.

  1. 터미널에서 저장소 디렉토리로 이동하십시오.

    최신 커밋 메시지를 수정 (변경)하려면 다음 명령을 실행하십시오.

    git commit --amend -m "New commit message."

    명령은 최신 커밋을 새 커밋으로 덮어 씁니다.

    -m 옵션을 사용하면 편집기 세션을 열지 않고도 명령 행에 새 메시지를 작성할 수 있습니다.

커밋 메시지를 변경하기 전에 이전에 잊어 버린 다른 변경 사항을 추가 할 수도 있습니다.

git add. git commit --amend -m "New commit message."

푸시 커밋

수정 된 (변경된) 커밋은 다른 SHA-1을 가진 새로운 엔터티입니다. 이전 커밋은 더 이상 현재 분기에 존재하지 않습니다.

일반적으로이 푸시에 대한 작업을 기반으로하는 사람들에게 문제를 일으킬 수 있으므로 이미 푸시 된 커밋을 수정하지 않아야합니다. 푸시 된 커밋을 변경하기 전에 동료 개발자에게 문의하는 것이 좋습니다.

  1. 저장소로 이동하십시오.

    최근 푸시 된 커밋의 메시지를 수정하십시오.

    git commit --amend -m "New commit message."

    원격 저장소의 히스토리를 강제로 푸시하십시오.

    git push --force branch-name

이전 또는 여러 커밋 변경

rebase 명령은 커밋 히스토리를 다시 작성하며 이미 원격 Git 리포지토리로 푸시 된 커밋을 리베이스하는 것이 좋습니다.

  1. 변경하려는 커밋 메시지가 포함 된 저장소로 이동하십시오.

    git rebase -i HEAD~N . 여기서 N 은 리베이스를 수행 할 커밋 수입니다. 예를 들어, 네 번째와 다섯 번째 최신 커밋을 변경하려면 다음을 입력하십시오.

    git rebase -i HEAD~5

    이 명령은 기본 텍스트 편집기에서 최신 X 커밋을 표시합니다.

    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)

    변경하려는 커밋 메시지 행으로 이동하고 pick reword 로 바꿉니다.

    reword 43f8707f9 fix: update dependency json5 to ^2.1.1 reword 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 branch-name

결론

가장 최근의 커밋 메시지를 변경하려면 git commit --amend 명령을 사용하고 이전 또는 여러 커밋 메시지를 변경하려면 git rebase -i HEAD~N .

푸시 된 커밋은 동료에게 많은 문제를 일으킬 수 있으므로 수정하지 마십시오.