Git 커밋 요약

목적


  • HEAD의 커밋 수를 지정하여 여러 커밋을 하나로 묶는 방법을 설명합니다.

    방법



  • 다음 명령을 실행합니다.
    $ git rebase -i HEAD~HEADからのまとめるコミット数
    
  • 에디터가 열리면 정리원이 되고 싶은 커밋을 「pick」, 「pick」 커밋에 정리하고 싶은 커밋을 「squash」라고 기재한다.

  • 구체적인 예


  • $ git log 커맨드를 실행했을 때에 하기의 출력이 되어 있을 때의 HEAD의 커밋과 그 전의 커밋을 정리하는 방법을 아래에 기재한다. 커밋 ID가 「70044e」인 커밋을 정리해두고, 커밋 ID가 「b0bc13」인 커밋을 정리하고 싶다.
    [21:33:48]MacBook-Pro~/test/git_test$ git log
    commit b0bc1348910b0c4b9994c83466ab7288746d4414 (HEAD -> master)
    Author: 大川峻 <[email protected]>
    Date:   Wed May 5 21:14:15 2021 +0900
    
        テスト記載 1を追記
    
    commit 70044e6aa0856b3eca659e381c40a434668f8582
    Author: 大川峻 <[email protected]>
    Date:   Wed May 5 21:13:03 2021 +0900
    
        テスト用ファイルを追加
    
    commit bfac6cdc0e30e4c4badb9830d4644518d0d0406a
    Author: 大川峻 <[email protected]>
    Date:   Wed May 5 21:12:49 2021 +0900
    
        first commit
    

  • 해당 리포지토리에서 다음 명령을 실행합니다.
    $ git rebase -i HEAD~2
    

  • 열린 편집기에서 다음과 같이 설명합니다.



  • 하나 이전의 에디터로 저장하면 아래의 에디터가 열린다. 특히 편집 등 없이 저장한다.


  • $ git log 를 실행한 결과 아래와 같이 표시되어 무사히 커밋이 정리되었다. (정리한 커밋의 커밋 시간은 정리 원래의 커밋 시간이 적응되는 것 같다)
    [21:33:48]MacBook-Pro~/test/git_test$ git log
    commit 0b334d2c1ca24e1a2af3484b15a32f0c37d8f547 (HEAD -> master)
    Author: 大川峻 <[email protected]>
    Date:   Wed May 5 21:13:03 2021 +0900
    
        テスト用ファイルを追加
    
        テスト記載 1を追記
    
    commit bfac6cdc0e30e4c4badb9830d4644518d0d0406a
    Author: 大川峻 <[email protected]>
    Date:   Wed May 5 21:12:49 2021 +0900
    
        first commit
    
  • 좋은 웹페이지 즐겨찾기