프로덕션 환경에서 충돌이 발생했을 때의 조치

소개



투고 2번째입니다.
이전에 처음으로 프로덕션 환경에서 충돌했습니다.
따로 프로덕션 환경이라고 해도 대처법은 변하지 않습니다만, 처음의 경험으로 꽤 초조했으므로 비망록으로서 남기고 싶습니다.

상황


  • 상황은 아래의 이미지대로, vi로 파일을 편집한 것을 잊었습니다. . .



  • 우선 상황을 확인



    자신의 경우는 원인도 분명하고 충돌하고 있는 것은 확정하고 있었습니다만, 우선은 git status 로 상황을 확인합니다.

    EC2에 연결하고 git status를 실행합니다.both modified 와 출력되면 충돌합니다.
    $ git status
    Unmerged paths:
      (use "git add <file>..." to mark resolution)
            both modified:   XXXXXXX
    

    충돌을 해결하기



    충돌이 있는지 확인한 후 다음 명령을 실행합니다.
    작업 이력은 사라져 버리므로 주의해 주세요!
    # リモートの対象ブランチに強制的に一致させる
    $ git reset --hard origin/master
    

    또는
    # git pull する前に戻す
    $ git reset --hard ORIGIN_HEAD
    

    덧붙여서 ORIGIN_HEAD 는 아래와 같은 의미다.

    Git의 HEAD, ORIG_HEAD, FETCH_HEAD, MERGE_HEAD란?
    최신의 하나 앞의 커밋에 대한 해시치의 별명입니다.

    기타



    초절 초학자이지만 최근 편리한 명령을 알았으므로 자주 사용하고 있습니다.
    # ローカルとリモートのブランチ一覧を表示 + コミット履歴を表示
    $ git branch -av
    
  • -a 옵션은 원격 브랜치를 포함한 브랜치 목록을 표시합니다
  • -v 옵션은 커밋 히스토리 (커밋 ID 및 메시지)를 표시합니다

  • 참고로했습니다.


  • Git 초절 정리
  • Git의 HEAD, ORIG_HEAD, FETCH_HEAD, MERGE_HEAD란?
  • git branch 명령

  • 여기까지 봐 주셔서 감사합니다.
    기본적인 커맨드 이외는 무엇인가 트러블이라도 일어나지 않으면 조사하거나 하지 않습니다만, 편리한 커멘드가 여러가지 있으므로 잘 다룰 수 있도록(듯이) 하고 싶네요.

    좋은 웹페이지 즐겨찾기