
git과 병합 충돌을 해결하는 방법
2022-10-04 last update
4 minutes reading terminal github git thecollablab지저분한 병합 충돌을 처리하는 것은 트래픽이 많은 곳을 탐색하는 것과 비슷할 수 있습니다. 약간의 인내심, 진보적 사고, 때로는 친구가 있으면 직면한 모든 갈등을 해결할 수 있습니다. 심호흡을 하고 아래 단계에 따라 이러한 해결 방법을 적용하세요!
원격 리포지토리의 기본 분기에서 모든 최신 코드를 풀다운합니다.
모든 새로운 새 코드를 기능 분기에 로컬로 병합합니다.
[선택 사항] 충돌이 있는 파일을 상위 수준에서 보려면 이것을 실행하십시오.
프로젝트의 모든 병합 충돌을 수정하십시오.
편집기에서 해당 파일로 이동합니다. HEAD에 있는 코드와 브랜치의 코드가 표시되는 것을 볼 수 있습니다. 원하지 않는 코드를 선택하고 삭제하도록 요청할 때 필요한 좋은 코드를 유지하십시오. 이것은 당신이 알지 못하는 팀의 코드를 볼 수 있기 때문에 가장 어려운 부분일 수 있습니다. 친구와 짝을 지어 필요한 경우 어떤 코드가 들어갈지, 어떤 코드가 남을지 결정하십시오. 이전에 충돌이 있었던 파일이 정사각형으로 표시되면 저장하십시오!
수정한 모든 파일을 준비합니다.
다음 내용을 보려면 리베이스를 계속하십시오.
rebase는 기본 분기에서 기능 분기로 내려온 모든 커밋을 비교하기 때문에 해결해야 할 충돌이 더 많을 수 있습니다. 기능 분기로 돌아갈 때까지 다음 3-6단계를 유지하세요.
업데이트된 코드를 원격 저장소로 푸시합니다.
참고:
1 단계
원격 리포지토리의 기본 분기에서 모든 최신 코드를 풀다운합니다.
git fetch
2 단계
모든 새로운 새 코드를 기능 분기에 로컬로 병합합니다.
git rebase origin/main
3단계
[선택 사항] 충돌이 있는 파일을 상위 수준에서 보려면 이것을 실행하십시오.
git status
4단계
프로젝트의 모든 병합 충돌을 수정하십시오.
5단계
수정한 모든 파일을 준비합니다.
git add .
6단계
다음 내용을 보려면 리베이스를 계속하십시오.
git rebase --continue
7단계
rebase는 기본 분기에서 기능 분기로 내려온 모든 커밋을 비교하기 때문에 해결해야 할 충돌이 더 많을 수 있습니다. 기능 분기로 돌아갈 때까지 다음 3-6단계를 유지하세요.
8단계
업데이트된 코드를 원격 저장소로 푸시합니다.
git push --force-with-lease
참고:
--force-with-lease
는 force
보다 더 안전한 옵션입니다. 왜냐하면 더 많은 커밋이 원격 분기에 추가된 경우 원격 분기의 작업을 덮어쓰지 않기 때문입니다. 더 읽어보기here .