<Git Chapter 3> - 차원(Branch) 넘나들기 2

심우열·2023년 1월 2일
0

Git

목록 보기
6/27

3. 브랜치를 합치는 두가지 방법

1. merge : 두 브랜치를 한 커밋에 이어붙임

    1. 브랜치 사용내역을 남길 필요가 있을 때 적합한 방식
    2. merge 로 합치기
        1. merge 하고자 하는 브랜치로(main) 이동
        2. git merge (merge 할 브랜치 이름)
        3. 자동입력된 커밋 메세지 확인후 :wq로 저장종료
    3. merge 는 reset 으로 되돌리기 가능
    4. merge 된 브랜치는 삭제
        1. git branch -d add-coach

2. rebase : 브랜치를 다른 브랜치에 이어붙임

    1. 한줄로 깔끔히 정리된 내역을 유지하길 원할 때 적합한 방식
    2. 이미 팀원과 공유된 커밋들에 대해서는 사용하지 않는 것이 좋음
    3. rebase 로 합치기
        1. merge와 반대로 rebase 할 브랜치로 이동
        2. git rebase ( merge 하고자 하는 브랜치 이름 또는 main )
        3. main 브랜치는 rebase 커밋에 뒤쳐져 있음 - merge 이용
            1. main 브랜치로 이동 후 
            2. rebase 커밋 시점으로 fast-forward
                1. git merge (rebase 커밋 시점에 있는 브랜치 이름)
            3. rebase 커밋 시점에 있는 브랜치 삭제

4. 충돌 해결하기

1. 브랜치 간 충돌

    1. 파일의 같은 위치에 다른 내용이 입력된 상황

2. merge 충돌 해결

    1. 충돌이 일어난 파일에서
        1. Accept Current Change/ Accept Incoming Change/ Accept Both Changes/Compare Changes 중 원하는 수정사항 클릭
    2. 당장 충돌 해결이 어려울 경우 다음과 같이 merge 중단
        1. git merge —abort
    3. 충돌 해결 가능 시, 충돌 부분을 수정한 뒤 
        1. git add . 
        2. git commit 으로 병합 완료
    4. 병합된 브랜치 삭제

3. rebase 충돌 해결

    1. 충돌이 일어난 파일에서
        1. Accept Current Change/ Accept Incoming Change/ Accept Both Changes/Compare Changes 중 원하는 수정사항 클릭
    2. 당장 충돌 해결이 어려울 경우 다음과 같이 merge 중단
        1. git merge —abort
    3. 충돌 해결 가능 시, 충돌 부분을 수정한 뒤
        1. git add .
        2. git rebase —continue
        3. 위의 과정을 충돌 부분이 모두 수정될 때까지 반복
    4. main 브랜치로 이동하여 git merge 로 main fast-forward
    5. 병합된 브랜치 삭제

4. 소스 트리 이용

profile
Dev Ops, "Git, Linux, Docker, Kubernetes, ansible, " .

0개의 댓글