13.3.3 가지 병합과 충돌 해결하기

    master 가지에서는 fortunecow 모듈 개발을, iss01 가지에서는 fortunecow 모듈 테스트를 진행하고 있습니다. iss01 가지에서 테스트가 끝나고 다시 master 가지와 병합하려고 합니다.

    administrator@vmgate:~/code/environments/production$ git branch -v
      iss01 c881532 Test fortunecow on vm03
    * master 62721ff Create motd.pp of fortunecow

    git merge 명령으로 병합을 시도하니 manifests/site.pp 파일에서 충돌(conflict)이 발생했습니다.

    administrator@vmgate:~/code/environments/production$ git merge iss01
    Auto-merging manifests/site.pp
    CONFLICT (content): Merge conflict in manifests/site.pp
    Automatic merge failed; fix conflicts and then commit the result.

    매니페스트 site.pp를 편집기로 열어 봅니다.

    administrator@vmgate:~/code/environments/production$ vi manifests/site.pp

    HEAD가 가리키고 있는 master 가지와 iss01 가지에서 site.pp 파일의 내용이 다르기 때문에 충돌이 발생했음을 알 수 있습니다. HEAD는 작업 중인 로컬 저장소의 가지를 가리키는 포인터이며, 현재 master 가지를 가리키고 있습니다.

    # /home/administrator/code/environments/production/manifests/site.pp
    # 노드 선언
    ...
    node 'vm03.linuxmastery.kr' {
      include base
    <<<<<<< HEAD
      include fortunecow::install
      include fortunecow::motd
    =======
      include fortunecow
    >>>>>>> iss01
    }
    ...
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.