일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 프로그래밍
- 파이썬
- 2
- 데이터베이스
- 네트워크보안
- 데이터구조
- Yes
- 컴퓨터과학
- 자바스크립트
- 코딩
- 웹개발
- 데이터과학
- 소프트웨어
- 프로그래밍언어
- 알고리즘
- 딥러닝
- 클라우드컴퓨팅
- 자료구조
- 컴퓨터비전
- 보안
- 인공지능
- 데이터분석
- 네트워크
- 소프트웨어공학
- 빅데이터
- 버전관리
- 머신러닝
- 컴퓨터공학
- I'm Sorry
- 사이버보안
- Today
- Total
스택큐힙리스트
Git 저장소에서 병합 충돌을 해결하는 방법은 무엇인가요? 본문
내 Git 저장소에서 병합 충돌을 어떻게 해결하나요?
답변 1
시도해보세요:
git mergetool
각 충돌 단계를 안내해주는 GUI가 열립니다. 병합하는 방법을 선택할 수 있습니다. 때로는 수작업으로 편집해야하는 경우가 있지만, 일반적으로 본 제품만으로 충분합니다. 전부 수작업으로 하는 것보다 훨씬 나은 경험이 될 것입니다.
Josh Glover's comment에 따르면:
[이 명령어]
GUI를 열지 않습니다. GUI를 설치하지 않은 경우, git mergetool를 실행하면 결과물로 vimdiff가 사용됩니다. 대신 다음 중 하나의 도구를 설치하여 사용할 수 있습니다: eld , #, pendiff ,
#, diff3 , #, kdiff , #, xdiff , #, ortoisemerge , #, vimdiff , #, iffuse ,
#, cmerge , #, 4merge , #, raxis , #, vimdiff, emerge.
아래는 this link을 사용하여 병합 충돌을 해결하는 샘플 절차입니다.
터미널에서 다음 명령어를 실행하세요.
git config merge.tool vimdiff
git config merge.conflictstyle diff3
git config mergetool.prompt false
이것은 vimdiff를 기본 병합 도구로 설정합니다.
터미널에서 다음 명령어를 실행하십시오.
git mergetool
다음 형식으로 vimdiff 디스플레이가 표시됩니다:
╔═══════╦══════╦════════╗
║ ║ ║ ║
║ LOCAL ║ BASE ║ REMOTE ║
║ ║ ║ ║
╠═══════╩══════╩════════╣
║ ║
║ MERGED ║
║ ║
╚═══════════════════════╝
이 4가지 관점은
현재 브랜치에서의 파일입니다.
기본: 변경 전 이 파일이 어땠는지, 공통 조상
원격: 당신의 브랜치에 병합하는 파일입니다.
병합: 병합 결과물; 이것이 병합 커밋에 저장되며 미래에 사용됩니다.
ctrl + w를 사용하여 이러한 뷰를 탐색할 수 있습니다. ctrl + w를 누른 후 j를 눌러 MERGED 뷰로 직접 이동할 수 있습니다.
vimdiff 네비게이션에 대한 더 많은 정보는 here과 here에서 제공합니다.
당신은 다음과 같이 MERGED 뷰를 편집할 수 있습니다:
원격에서 변경 사항을 가져 오려면
:diffg RE
만약 당신이 BASE로부터 변경 사항을 받고 싶다면
:diffg BA
만약 로컬에서 변경 사항을 얻고 싶다면
:diffg LO
저장, 종료, 커밋 및 정리
vi에서 저장하고 종료하려면 :wqa을(를) 입력하세요.
git commit -m message
git clean 불필요한 파일 제거 (예 : *.orig) 경고 : 인수를 전달하지 않으면 추적되지 않은 모든 파일이 제거됩니다.
답변 2
Git 저장소에서 병합 충돌을 해결하는 방법은 매우 중요합니다. 충돌은 다양한 원인으로 발생할 수 있으며, 코드를 함께 작업하는 개발자들 사이에서 발생하는 경우가 많습니다. 충돌이 발생하면 해결하기 전까지 코드가 합쳐지지 않아 다른 작업에 영향을 주지 못하게 됩니다. Git에서 충돌을 해결하는 방법은 다음과 같습니다.
1. 충돌 지점 결정하기 - 충돌이 발생하면 Git은 충돌의 위치를 나타내는 메세지를 출력합니다. 이 메세지를 통해 어떤 파일과 어떤 부분에서 충돌이 발생했는지 알 수 있습니다. 충돌 지점을 파악한 후 다른 개발자들과 상의하여 코드를 수정해야 합니다.
2. 충돌 내용 비교하기 - 충돌을 해결하기 위해선, 충돌 내용을 비교하고 어떤 것을 유지할지 결정해야 합니다. Git에서는 충돌 내용을 확인하고 결정을 내릴 수 있는 다양한 도구를 제공합니다.
3. 코드 수정하고 저장하기 - 충돌 내용을 비교한 후 코드를 수정하고 저장합니다. 이때, 코드 수정은 모든 충돌 지점에서 이루어져야 합니다.
4. 코드 충돌 병합하기 - 충돌 지점에서 수행된 수정 작업들을 병합합니다. 이때 충돌 지점에서 작업한 내용이 원래 코드에 반영되어야 합니다.
5. 코드 충돌 확인하기 - 충돌 해결 작업을 마치고 Git에서 코드 충돌을 확인합니다. 이상 없이 코드가 병합되었다면 다른 개발자와 함께 코드를 공유합니다.
Git에서 충돌을 해결하는 방법을 알고 있다면, 여러 개발자들이 동시에 작업하는 대규모 프로젝트에서도 원할하게 코드를 관리하고 유지할 수 있습니다. 따라서 Git 사용자들은 이러한 충돌 해결 방법을 숙지하고 실제 현장에서 활용해야 합니다.