반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 리팩터링2판테스트
- 리액트구글애널리틱스
- cypressBDD
- file not found Error
- 테스트코드책
- s3이미지다운로드됨
- 가상면접으로대규모시스템
- Git commit 합치기
- formik submitting not working
- 가상면접3장
- react
- 리팩토링2판4장
- FirebaseAnalytics
- git commit 협업
- awss3
- git commit merge
- cypress React
- gitsquash
- 헤드퍼스트전략패턴
- 디자인패턴
- 시스템설계면접팁
- 시스템설계
- 시스템설계면접
- 가상면접2장
- git squash
- formik react-query submitting not working
- 시스템설계면접예시
- 시스템설계방법
- 전략패턴
- react-ga
Archives
- Today
- Total
mingg IT
[Git] Git squash로 여러 커밋 한번에 묶기 본문
개발하다보면 한 기능을 위한 커밋을 여러번 하게 되는 경우가 빈번하다.
테스트를 위해서라던가, 브랜치를 이동하면서 stash 하기엔 애매하다던가... 다른 사람과 협업을 한다던가
여튼 오늘은 그런 여러개의 커밋을 하나의 커밋으로 보기위한 git squash하는 법에 대해 알아보겠다.
git log를 확인한다.
git log --pretty=oneline
하나로 묶고 싶은 커밋들을 설정한다.
난 최근부터 9개까지를 하나로 묶으려고 한다.
$ git rebase -i HEAD~9
이런식으로 나올텐데 가장위의 pick를 제외하고 squash로 바꾸어준다.
이후 ESC + 저장(:wq) 을 한다.
커밋 메세지를 바꿀 수도 있다.
9번째 커밋 메세지를 feat -> add sentry upload yml 로 바꾸어 보았다.
이후 ESC + 저장(:wq) 을 한다.
로그를 확인해본다.
git log
git log를 통해 확인하면 9개의 커밋이 하나로 합쳐진 것을 확인할 수 있다.
squash 반영하기.
git push -f origin HEAD
이제 이 여러개 합친 커밋을 반영해줘야 한다.
git push -f 브랜치명 으로 강제로 push 해줘야 한다. 되도록이면 push를 하지 않은 commit위주로 사용하는게 좋을 듯 함.
GIT 에서 확인하기
git commit 내역에 들어가보면 하나의 커밋으로 합쳐진 것을 확인할 수 있다.
'git' 카테고리의 다른 글
[Git] git push 시 Sentry에 sourceMap 업로드 하기 (git yml 작성) (0) | 2023.04.20 |
---|---|
[Git]Unlink of file '파일이름' failed. Should I try again? 에러 해결 (0) | 2022.11.28 |
[GIT] git push No anonymous write access. 에러 해결법 (2) | 2021.11.28 |
[Git] Git Pull Request 사용법 (0) | 2021.09.24 |
[Git] git config --unset credential.helper 안먹힐 경우 (0) | 2021.08.14 |
Comments