[Zero-Base]데이터 취업 스쿨 스터디 노트(Git-Merge and Conflict)

강현정·2024년 7월 8일

zero_base

목록 보기
43/54

Merge and Conflict

Merge 실습환경 만들기

  • remote에 merge_project 레파지토리 생성
  • local에는 dev branch 생성 후 이동, text.txt파일 수정한 상황
  • diff 와 유사하게 merge설정 추가

Merge

  • 변경사항이 차이가 있는 두 파일을 합쳐주는 과정
  • 현재 있는 branch를 기준으로 merge
  • git merge (branch name a): main브랜치 기준으로 a라는 브랜치를 merge시켜준다.
  • 두코드의 라인이 다르기 때문에 git이 자동으로 인식해 conflict가 생기지 않는 상황

Git Merge and Conflict

  • main 과 dev2 의 branch가 둘 다 변경되어서 커밋된 상황에서 merge
  • 충돌이 발생함
  • 같은 라인에 있는 코드가 차이가 있어서 충돌이 발생.
  • 이와 같은 경우는 직접 수정을 해줘야함.
  • git mergetool사용
  • 남기고자 하는 code외에 모두 삭제한 후 저장
  • conflict상황을 해제하기 위해서 add를 한번씩 해줘야함
  • 그 후 git commit 명령 후 뜨는 commit창을 저장해주기
  • 다시 확인해보면 merge가 잘 되어있음

  • mergetool 실행 후

📌회고록

  • 로컬에서 repository를 만들면 master로 branch가 생기고, remote의 경우 main으로 생성된다.
  • 겹치는 부분이 있으면 merge를 자동으로 수행해주지만 다르면 충돌이 생긴다.

0개의 댓글