괴발개발 성장기

회사생활/Git 사용법

#6 conflict 해결 방법

지니유 2020. 12. 22. 12:47
반응형
  • push 하기전 commit 후 pull 받았을 때 conflict이 난 경우
  • Merge request한 후에 conflict이 난 경우

수정 중 다른 작성자가 같은 코드를 수정하고 올렸을 경우 다음과 같은 conflict이 발생합니다.

<충동 해결 방법>

  1. conflict 발생시 다음과 같은 경로로 이동하여 conflict를 해결합니다.

    TIP : 여러개의 파일이 충돌이 날 수 있기 때문에 최상위 디렉토리에서 다음과 같은 경로로 이동합니다.

  2. Merge를 클릭

    • Accept Yours
      로컬에 있는 코드를 받아들이겠다는 뜻입니다. Conflict이 난 상황에서 본인이 수정한 코드를 먼저 받아 들여서 로컬 창에 본인이 수정한 코드만 남게 됩니다.
    • Accept Theris
      GitLab에 올라가 있는 master의 코드를 받아들이겠다는 뜻입니다. 로컬 창에 본인이 수정한 코드가 없어지고 master에 올라가 있던 코드로 수정이 됩니다.
    • Merge
      3-way Merge 창을 열어 주는 명령어 입니다. 로컬과 GitLab에 올라가 있는 코드를 유지하여 수정할 수 있도록 도와줍니다.!
  3. 3-way Merge 창이 뜨게 됩니다.

    • 왼쪽: 본인이 수정한 코드 / 가운데: 최종본 / 오른쪽: upstream master에 있는 부분
    • 직전의 코드 작성자와 함께 코드를 합치는 작업을 진행합니다.
      '>>'버튼 : 해당 버튼은 클릭하면 버튼이 가리키는 영역의 코드가 최종본으로 추가가 됩니다.
      'X'버튼 : 해당 버튼을 클릭하면 버튼이 가리키는 영역의 코드에 대해 영역을 해제하고 아무런 액션이 취해지지 않습니다.
    • 위 두가지 버튼을 사용하여 conflict이 난 코드에 대해 수정을 진행합니다.
  4. Apply : conflct이 난 상황에 대해 처리가 되면 apply버튼을 눌러 최종본을 현재 코드창에 적용시킵니다.

  5. 무조건 명령어 작성하기

    
    	git rebase --continue
        
  6. push 하기

    
    	방법: git push [별칭] [이슈번호]
    
    	예시: git push genie 28
        
반응형

'회사생활 > Git 사용법' 카테고리의 다른 글

#8 GitLab Merge Request 생성하기  (0) 2021.01.11
#7 rebase 하는 방법  (0) 2020.12.28
#5 Pull과 push  (0) 2020.12.21
#4 branch 만드는 방법  (0) 2020.12.21
#3 공용 저장소를 개인 저장소로 옮기기  (0) 2020.12.21