Merge and Conflict

JERRY·2025년 3월 13일
0

Git/GitHub

목록 보기
8/10
post-thumbnail

실습 환경 만들기

  • Remote Repository 생성 : merge_project

  • Remote Repository 주소 복사

  • Local Repository 에 Clone

  • 실습환경 체크

  • 파일 추가 후 저장

  • Branch 생성 후 파일 수정

  • Git Log 확인


Merge Tool 설정

  • Git Configuration 파일 열기

    git config --global -e

  • Git Merge 설정 추가

    [merge]
    tool = vscode
    [mergetool "vscode"]
    cmd = "code --wait $MERGED"


Merge

  • Git Merge : 현재 위치한 Branch 에 다른 Branch 를 병합

    git merge (branchname)

  • Main Branch 로 이동

  • Dev Branch Merge

  • Log : Merge 결과 확인


Conflict

  • Merge Conflict : Branch 를 Merge 하는 과정 혹은 Push, Pull 하는 과정에서 충돌이 일어날 수 있음

  • Main Branch 에서 파일 수정 : Hello, noma

  • Conflict Test 를 위한 Branch 생성 : Hello, noma 를 카피(이동X)

  • Main Branch 에서 파일 수정 : Hello, zero

  • Dev2 Branch 에서 파일 수정 : Hello, base

  • Main Branch 에서 Dev2 Merge : 이때 양쪽이 같은 파일의 같은 부분을 수정했기 때문에 Conflict 발생

  • MergeTool 실행 : Conflict 발생 이후 아래와 같이 MergeTool 을 실행하면 Conflict 난 파일들이 차례로 열림

  • VSCode 에서 Conflict 파일 수정

    • Main Branch 와 Dev2 Branch 의 Diff 를 <<<<, ====, >>>> 로 표시

    • 둘 중 맞는 코드를 선택하여 수정하고 저장.(Diff 표시 부분도 삭제)

  • Conflict 해제

    • git add + git commit

    • Commit Message 저장 후 완료

  • Git Log 로 확인

  • Git Graph

0개의 댓글