Git Merge와 함께 theirs 사용

Yahya Irmak 2023년1월30일
  1. Git에서 theirs와 함께 git merge 명령 사용
  2. --strategy-option을 사용하여 Git의 충돌 해결
  3. 임시 분기를 사용하여 Git에서 병합
Git Merge와 함께 theirs 사용

Git 도구를 사용하여 소프트웨어를 개발하는 동안 다양한 기능에 대해 다른 분기를 만들 수 있습니다. 그러나 다른 지점 간에 충돌이 있을 수 있습니다.

이 기사에서는 git merge 명령을 irs 옵션과 함께 사용하여 충돌을 해결하는 방법에 대해 설명합니다.

Git에서 theirs와 함께 git merge 명령 사용

git merge 명령은 둘 이상의 개발 기록을 결합할 수 있습니다. 그러나 이 병합은 분기 간의 충돌로 인해 수행되지 않는 경우가 있습니다.

이 충돌을 해결하려면 ours 또는 irs에 있는 파일을 삭제해야 합니다.

ours는 Git 히스토리의 권한을 가진 원래 작업 분기를 나타내고 irs는 새로 적용된 커밋이 포함된 분기를 나타냅니다.

git merge -s ours를 사용하여 ours의 변경 사항을 취소할 수 있습니다. 이 명령은 다른 분기의 모든 변경 사항을 무시하고 분기의 파일을 변경하지 않은 상태로 둡니다.

다음에 다른 브랜치에서 병합할 때 Git은 이 시점부터 변경된 사항만 고려합니다. 그러나 -s 옵션은 그들과 함께 사용할 수 없습니다.

--strategy-option을 사용하여 Git의 충돌 해결

또는 -X 또는 --strategy-option 옵션과 함께 theirs를 사용할 수 있습니다.

-X 옵션과 -s 옵션의 주요 차이점은 -X는 일반 재귀 병합을 수행하여 선택한 면을 사용하여 충돌을 해결하는 반면 -s는 다른 면을 완전히 무시하도록 병합을 변경한다는 것입니다.

다음 명령은 theirs를 사용하여 충돌을 해결합니다.

git merge -X theirs branchname

임시 분기를 사용하여 Git에서 병합

아래 명령을 사용하여 test2를 체크아웃된 test1에 병합합니다.

test1 분기로 전환합니다.

git checkout test1

충돌 없이 커밋을 병합합니다. ours의 내용은 나중에 폐기됩니다.

git merge -s ours test2

임시 분기를 만듭니다.

git branch temp

git reset 명령으로 HEAD를 설정합니다. test2 분기에서 내용을 가져옵니다.

git reset --hard test2

병합된 커밋으로 재설정하되 git reset --soft 명령으로 내용을 유지합니다.

git reset --soft temp

병합된 커밋의 내용을 test2의 내용으로 변경합니다.

git commit --amend

이전에 만든 임시 분기를 삭제합니다.

git branch -D temp

병합된 커밋에는 test2의 내용만 포함되어 있음을 알 수 있습니다.

git diff HEAD test2
작가: Yahya Irmak
Yahya Irmak avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn

관련 문장 - Git Merge