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
- 유령 의존성
- 원티드프리온보딩
- toast err
- react portal
- Redux
- Mac OS NVM
- 향해99
- Node
- next/link
- Passed by Value
- 인풋태그 엔터
- react
- 프로젝트
- NVM
- Client-Side Navigation
- 알고리즘
- 식별자란
- CloudFront 무효화
- 광고지구
- NextJs
- 원티드인턴십
- JavaScript
- jsEvent Loop
- 원티트 프리온보딩인턴십 1주차
- Til
- git
- input error
- 회고록
- JS
- CPU와 GPU의 차이점
Archives
- Today
- Total
SUIN
다양한 Git merge 방법 알아보기(3-way merge/fast-forward merge/rebase and merge/squash and merge) 본문
Git
다양한 Git merge 방법 알아보기(3-way merge/fast-forward merge/rebase and merge/squash and merge)
choi suin 2022. 8. 9. 16:04728x90
로컬 저장소에서 바로 merge 하는 방법도 있지만 협업을 하면서 merge전 검토 과정을 거치게 된다.
1. 3-way merge
- 새로운 commit branch 생성
- git flow : feature/develop 브랜치에서 많이 사용
2. fast-forward merge
- main branch -> 신규 commit이 없을 경우 자동으로 fast-forward merge 발동
- git merge —no-ff : 강제 3-way merge 가능
3. rebase and merge
- branch의 시작점을 이동시켜 3-way merge → fast-forward merge처럼 만들어줄 수 있다.
- rebase: branch 시작점을 다른 commit으로 옮겨주는 행위
- rebase 쓰는 이유 : 3 way-merge를 하지 않고도 깔끔하게 branch를 관리하므로 history나 log확인이 쉬움
- 단점 : conflict가 자주 일어남
4. squash and merge
- 선으로 이어진 branch들의 log는 모두 다 기록이 되므로 비교적 로그가 깔끔하지 않으므로 별도의 log를 저장하거나 확인할 필요가 없을 경우squash and merge를 적용하여 머지 선을 잘라버리고 merge 했던 사이드 branch log들이 나오지 않게 한다.
- 브랜치에서 만들어놨던 많은 commit을 다 합쳐서 하나의 commit으로 main branch 생성
- 중요하지 않은 branch에서 사용
'Git' 카테고리의 다른 글
[git] git Organizations 연결하기 (2) | 2022.11.04 |
---|---|
git 로컬 > 원격저장소 대소문자 폴더명 수정 (0) | 2022.08.29 |
내가 보려고 정리한 git (1) | 2022.08.09 |