Git

[Git] push 한 여러개 commit 하나로 합치기

응디 2021. 3. 24. 15:08

협업을 하다보면 오타 수정과 같은 작은 문제들을 수정하느라 불필요한 commit해 push 할 경우가 있다.

 

해당 경우 git history를 더 깔끔하고 명확하게 보기 위해 rebase를 사용하여 필요한 commit만 남긴다!

 

1. git log 로 commit history를 파악해 불필요한 부분 체크

 

2. 최근꺼부터 3개를 하나로 합치겠다!

git rebase -i HEAD~3 # HEAD에서 부터 3개의 commit을 합치겠다

 

3. 위 사진 처럼 나타남, 그럼 남길 commit 1개를 제외하고 나머지 pick을 squash로 변경

 

4. 저장 후 git log 확인하면 합쳐진거 확인할 수 있다.

 

5. git push origin master --force( git에 강제 push master에는 안해주는게 좋다. )

 

※ 강제 push 시

! [remote rejected] master -> master (pre-receive hook declined)

 

이러한 오류 발생 시 git(lab)의 해당 프로젝트의 

Settings > Repository > Protected Branches 의 아래 처럼 Unprotect를 해주고 실행

실행 후에는 다시 protect로 추가해줘야함!


▶ rebase를 취소하고 싶을때

git reset --hard origin/{ branchName }

'Git' 카테고리의 다른 글

git 원격 저장소 주소 변경  (0) 2022.12.14
현재 작업물을 임시저장하고 pull 받기  (0) 2022.12.14
[Git] branch 생성 후 push  (0) 2021.03.24