너무 많은 커밋, 스쿼시!!

당신이 나와 같은 작은 변화를 모두 커밋하고 단일 기능에 대해 너무 많은 커밋을 하고 "이런 의미 없는 커밋을 병합할 수 있다면 좋지 않을까?"라고 생각하는 사람이라면

구출 스쿼시



OG git에서 그렇게 할 수 있습니다. squash 사용 방법을 살펴보겠습니다. 튜토리얼을 따라 github 저장소를 만들려면 here 을 클릭하여 저장소를 열 수 있습니다.

커밋 수정



잠시 시간을 내어 리포지토리의 커밋 섹션을 살펴보고 해당 커밋의 내용을 확인하세요.
당신이 그 끔찍한 커밋에 대해 이상하게 생각한다면 걱정하지 마십시오. 우리가 함께 고칠 것입니다.

먼저 의미 없는 커밋을 찾아보자.
내가 무의미하다고 느끼는 첫 번째 커밋은 분기 시작에서 세 번째 커밋입니다. 여기서는 상용구 커밋과 쉽게 병합할 수 있는 제목만 변경합니다.

터미널에서 git rebase -i HEAD~5 . 이 명령은 현재 커밋에서 마지막 5개 커밋으로 rebase 명령을 대화형 모드로 엽니다.

pick b1b37b5 Added boiler plate code
pick 125e103 Changing title
pick c6c03ac Adding navbar list
pick 3816fa0 Adding Downloads in navbar list
pick 10534c0 Added Pricing section

...


git에서 기본값으로 선택한 텍스트 편집기에 이와 같은 내용이 표시되어야 합니다. 여기에서 여러 가지 작업을 수행할 수 있으며 해당 명령은 동일한 곳에서 사용할 수 있습니다.
이제 우리가 하는 일은 커밋에서 pick 제목을 squash로 변경하는 것입니다.

최종 결과는 다음과 같아야 합니다.

pick b1b37b5 Added boiler plate code
squash 125e103 Changing title
pick c6c03ac Adding navbar list
pick 3816fa0 Adding Downloads in navbar list
pick 10534c0 Added Pricing section

picksquash로 변경하면 기본적으로 Changing title 커밋과 Added boiler plate code 커밋이 병합됩니다.

파일을 저장하고 닫습니다.

이제 파일에 이 메시지가 표시되어야 합니다.

# This is a combination of 2 commits.
# This is the 1st commit message:

Added boiler plate code

# This is the commit message #2:

Changing title

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date:      Fri Oct 22 01:02:46 2021 +0530
#
# interactive rebase in progress; onto 2814ed0
# Last commands done (2 commands done):
#    pick b1b37b5 Added boiler plate code
#    squash 125e103 Changing title
# Next commands to do (3 remaining commands):
#    pick c6c03ac Adding navbar list
#    pick 3816fa0 Adding Downloads in navbar list
# You are currently rebasing branch 'master' on '2814ed0'.
#
# Changes to be committed:
#   modified:   index.html
#


이 파일에서 최종 커밋, 즉 병합 후에 형성된 커밋에 대한 커밋 메시지를 변경할 수 있습니다. 지침에서 언급했듯이 #로 시작하는 줄은 무시되므로 Changing title 메시지를 주석 처리하고 Added boiler plate code를 `Added Boilerplate 및 변경된 제목으로 변경하겠습니다.

파일을 저장하고 닫고 이제 수행하십시오 git log .

타다! 커밋이 하나로 병합되고 변경 사항이 더 의미있게 보입니다.

이제 Added downloads sectionAdded Pricing section 커밋에 대해 동일한 작업을 시도합니다.

좋은 웹페이지 즐겨찾기