협업을 하다보면 오타 수정과 같은 작은 문제들을 수정하느라 불필요한 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 |