개발관련/Git

Git을 푸시하기 전에 여러 커밋 결합

Rateye 2021. 6. 7. 08:25
728x90
반응형
질문 : Git을 푸시하기 전에 여러 커밋 결합 [중복]

내 로컬 저장소에 주제별로 유사한 커밋이 많이 있습니다. 원격으로 푸시하기 전에 단일 커밋으로 결합하고 싶습니다. 어떻게하나요? rebase 가 이것을한다고 생각하지만 문서를 이해할 수 없습니다.

답변

당신이하고 싶은 것은 git에서 "squashing"이라고한다. 이 작업을 수행 할 때 많은 옵션이 있지만 (너무 많습니까?) 푸시되지 않은 모든 커밋을 단일 커밋으로 병합하려면 다음과 같이하십시오.

git rebase -i origin/master 

그러면 다음과 같은 파일이있는 텍스트 편집기 ( -i 는 "대화 형")가 나타납니다.

pick 16b5fcc Code in, tests not passing pick c964dea Getting closer pick 06cf8ee Something changed pick 396b4a3 Tests pass pick 9be7fdb Better comments pick 7dba9cb All done 

첫 번째 것을 제외한 picksquash (또는 s )로 변경합니다.

pick 16b5fcc Code in, tests not passing squash c964dea Getting closer squash 06cf8ee Something changed squash 396b4a3 Tests pass squash 9be7fdb Better comments squash 7dba9cb All done 

파일을 저장하고 편집기를 종료하십시오. 그런 다음 다른 텍스트 편집기가 열리면 모든 커밋의 커밋 메시지를 하나의 큰 커밋 메시지로 결합 할 수 있습니다.

짜잔! 인터넷 검색 "git squashing"은 사용 가능한 다른 모든 옵션에 대한 설명을 제공합니다.

출처 : https://stackoverflow.com/questions/6934752/combining-multiple-commits-before-pushing-in-git
728x90
반응형