반응형
Merge
git branch main
git merge feature-#2
다른 파일 수정시 - 정상 엔딩
같은 파일의 같을 줄 수정시 - 충돌 엔딩 (수동으로 해결해야 한다.)
1. 3-way merge
branch를 merge하게 되면 기본적으로 3-way merge라고 생각하면 된다.
특징
- Merge한 브렌치의 모든 기록이 남는다.
- Merge시 Merge Commit이 새로 생긴다.장점Merge한 브렌치의 모든 기록이 남는다.
단점
- 불필요한 Commit 내역(Merge Commit)이 생겨 히스토리가 지져분해진다.
2. fast-forward merge
특징
- 분기가 없을 경우 최신 Commit을 따라간다.
- 분기가 있을 경우 rebase & fast-forward merge를 하게 된다.
3. rebase & fast-forward merge
명령어
git branch feature-#2
git merge main
사용이유
3-way merge가 너무 많아지면 로그가 복잡하기 때문에..
간단하고 짧은 브랜치들은 깔끔하게 정리 가능하다.
Conflict 가 자주 발생한다.
4. squash and merge
명령어
git merge --squash 새브랜치
사용이유
로그가 복잡해지기 때문에 사용하는거고..
간단하고 짧은 브랜치들은 깔끔하게 정리 가능하다.
언제 사용하면 될까요
프로젝트 가이드에 따라서 사용하면 된다.
ex) branching/merge 가이드
안중요한 브랜치는 squash
feature / develop 브랜치는 3-way merge
'CI & CD > Git' 카테고리의 다른 글
Git branch (0) | 2022.08.16 |
---|---|
Git 기본 명령어 (0) | 2022.08.16 |
Git 이란 무엇인가? (0) | 2022.08.15 |
GitHub master 기준으로 강제 업데이트 (0) | 2021.06.24 |
git 액세스 토큰을 사용한 사용자 인증 (0) | 2021.05.30 |