ETC

git 컨플릭 해소 방법

findmypiece 2021. 4. 7. 17:20
728x90

내가 커맨드로 merge 를 하는 과정에서 발생하는 컨플릭은 그냥 IDE에서 제공하는 기능을 통해

쉽게 비교해서 컨플릭 해소해서 머지하면 된다.

그런데 문제가 되는 것은 풀리퀘 단계에서 컨플릭이 발생했을때이다.

 

feature브랜치를 cbt브랜치로 머지하기 위해 풀리퀘를 요청했다고 해보자.

검토자가 승인을 하고 머지를 하려고 보니 컨플릭이 발생했다.

 

github 에서 설명하는 커맨드를 통한 컨플릭 해소 방법은 아래와 같다.

  1. 로컬에서 feature <- cbt 머지+컨플릭 해소+커밋
  2. 로컬에서 cbt <-1번 작업 완료된 feature 머지 (이때 기록을 남기기 위해 --no-ff 옵션을 줘서 강제로 머지커밋을 한다)
  3. 2번 작업 완료된 cbt 브랜치 push

 

이렇게 하면 github 웹에서 요청 중이던 풀리퀘의 머지가 자동으로 완료된다.

(단, 검토자 승인이 완료된 상태여야 함)

 

그런데 이렇게 되면 feature 브랜치에 내 작업 외에 다른 작업이 포함되게 된다.

어차피 추가 수정을 하게 될 경우에도 컨플릭이 해소는 필요하기 때문에 

그대로 push 해서 사용해도 되지만 내 작업만 유지하고 싶다면 

아래 명령으로 1번에서 머지된 내용을 제거하면 된다.

git reset --hard HEAD^

 

그런데 어차피 히스토리에서 내가 커밋한 소스만 확인 가능하기 때문에

굳이 위와 같은 작업을 할 필요 없이 그냥 push 해서 사용해도 큰 문제는 없어보인다.

728x90