[GIT]다양한 merge방법

유지나·2023년 5월 17일
0

GIT

목록 보기
1/13

1. 각 브랜치에 신규 commit이 있는 경우

3-way merge(일반적인 merge옵션)

2. 기준 브랜치에 신규 commit이 없는 경우[main-branch-branch]

fast-forward merge(마지막 새끼 브랜치의 이름을 main이라고 지칭함)
-> 브랜치끼리 섞을 내용이 없기 때문(자동으로 발동됨)
-> 그게 싫다면 git --no-ff 브랜치명->강제로 3-way merge

merge 완료된 브랜치 삭제

git branch -d 브랜치명

** merge안 한 브랜치 삭제방법
gir branch -D 브랜치명

merge방법

  1. rebase & merge
    기존 브랜치의 시작점을 최신으로 옮김->fast-forward merge를 진행함

왜 사용할까?
3-way merge는 나중에 git log가 복잡해짐
-> 짧은 브랜치들은 rebase를 사용하면 깔끔해보임
-> 강제로 fast-forward 진행

단점
conflict 많이 발생

사용방법
1. git switch 새로운브랜치새로운 브랜치로 이동
2. git rebase maingit rebase 중심브랜치명
3. git switch main중심브랜치로 이동해서
4. git merge 새로운브랜치git merge 새로운브랜치명

merge방법

  1. squash and merge(commit 텔레포트)
    3-way merge를 사용하면 log가 너무 더러워짐

git merge --squash 새브랜치를 추가해주면 가지쳐진 commit들을 삭제하고 main branch의 하나의 새로운 commit으로 새로 지정함
-> main브랜치의 로그에서 사이드 branch 내용 나오지 않음

사용방법
1. git switch main
2. git merge --squash 브랜치명
3. ```git commit -m "메세지"

merge방법 최종정리

3-way merge
squash & merge
fast-forward merge
rebase & merge

profile
지르나르

0개의 댓글