【Git】복수 커밋을 모아서 revert하는 방법

이 기사에서 이해


  • 특정 커밋까지 모든 커밋을 함께 리버팅하는 방법
  • revert 커밋을 결합하는 방법

  • 특정 커밋까지의 모든 커밋을 함께 revert



    몇 개 정도의 커밋이라면 보통으로
    git revert HEAD^
    

    토카
    git revert <コミットID>
    

    어쨌든 좋지만, 100 커밋이라면 하나하나하고 있으면 날이 살아 버립니다.

    함께 revert하려면 다음 명령을 사용합니다.
    git revert HEAD...HEAD~100 --no-edit
    
  • HEAD...HEAD~100 ... "지금 커밋"에서 "100 개 커밋"까지 지정
  • --no-edit ... revert 커밋 메시지를 편집하지 않습니다

  • 예를 들면 ↓와 같은 커밋 이력으로 commit1~3 모두 revert하고 싶은 경우는
    c59f92d (HEAD -> test) commit3
    91cfe7b commit2
    32349cf commit1
    
    git revert HEAD...HEAD~3 --no-edit
    

    이제 최근 3개의 커밋을 모두 revert할 수 있습니다.
    e471f93 (HEAD -> test) Revert "commit1"
    20f3821 Revert "commit2"
    35c18ae Revert "commit3"
    c59f92d commit3
    91cfe7b commit2
    32349cf commit1
    

    하지만, 이대로라면 revert 커밋이 대량으로 되어 이력이 보기 어려워져 버리기 때문에 revert 커밋을 정리해 갑니다

    revert 커밋 요약



    이것은 revert 커밋에만 국한되지는 않지만

    커밋을 정리하려면 다음 명령을 사용합니다.
    git rebase -i HEAD~100
    
  • -i ... 편집기를 열고 편집 할 수 있습니다
  • HEAD~100 ... 최근 몇 개의 커밋을 정리할지 지정 (이번에는 100 개)

  • 이 명령을 치면 다음과 같은 화면이 나옵니다.



    여기서 정리하는 베이스의 커밋을 pick 로 해 그 커밋에 끌고 싶은 커밋은 squash


    커밋 메시지 편집 화면이 나오므로



    적절하게 편집



    닫으면
    c3a9193 (HEAD -> test) commit1~3をrevert
    c59f92d commit3
    91cfe7b commit2
    32349cf commit1
    

    revert로 많이 생긴 커밋을 하나로 정리할 수 있습니다.

    좋은 웹페이지 즐겨찾기