Git Conflict 해결하기
Git conflict가 발생하면 당황스럽습니다. 하지만 걱정하지 마세요! 이번에는 간단한 방법을 소개해 드릴게요. Git conflict를 해결하는 방법을 공유해 드릴 거에요.
Git Conflict란?
Git conflict란 파일 또는 코드를 병합할 때 발생하는 충돌 상황을 의미합니다. 여러 명이 동시에 작업하거나 동일한 파일을 수정할 때 충돌이 발생할 수 있어요.
Git Conflict 해결 방법
1. 먼저, 다음 명령어를 사용하여 최신 업데이트를 받아와야 해요
git fetch --all
2. 그 다음, 다음 명령어를 사용하여 로컬 상태를 conflict 이전으로 되돌려야 해요
git reset --hard origin/master
여기서 master는 코드를 가져올 원격 저장소입니다.
3. 마지막으로, 다음 명령어로 원격 저장소에서 최신 변경사항을 가져와야 해요
git pull origin master
이렇게 하면 제가 수정한 파일이 conflict되었을 때, 원격 저장소에서 파일들을 다시 받아와 정상적으로 업데이트할 수 있어요. Git pull과 fetch의 차이점을 알고 싶으신 분들이 계실 것 같아 간단히 설명드릴게요.
Pull과 Fetch의 차이점
Pull: Pull 명령어를 사용하면 현재 작업 중인 로컬 브랜치에 원격 저장소의 변경사항을 병합합니다. Pull은 자동으로 변경사항을 병합하며, 별도의 검토 없이 바로 병합될 수 있습니다. 하지만 주의해야 할 점은 브랜치 관리를 제대로 하지 않으면 충돌이 자주 발생할 수 있다는 점이에요.
Fetch: Fetch는 현재 브랜치에 존재하지 않는 원격 저장소의 변경사항을 로컬 리포지토리에 가져옵니다. 현재 로컬 상태와 병합하지 않고, 단순히 변경사항을 로컬에 저장하는 기능입니다. 이 기능은 저장소를 최신 상태로 유지하면서도 파일을 업데이트할 때 손상될 수 있는 작업을 수행할 때 유용합니다. 커밋을 마스터 브랜치로 통합하려면 merge를 사용하여 자연스럽게 병합할 수 있어요.
만약 변화된 내용을 확인하고 싶다면 다음과 같은 방법을 사용할 수도 있습니다.
1. git checkout master
2. git fetch
3. git diff origin/master
4. git rebase origin master
위의 과정을 따라 diff로 변경된 내용을 확인한 후 rebase로 커밋을 재정리할 수 있어요.
Git conflict는 파일 또는 코드 병합 시 발생하는 충돌 상황을 의미합니다. 이번 블로그 포스트에서는 Git conflict를 해결하는 간단한 방법을 소개했습니다. 충돌이 발생했을 때는 git fetch, git reset, git pull 명령어를 사용하여 원격 저장소에서 최신 변경사항을 받아오고, 로컬 상태를 이전으로 되돌린 뒤 다시 업데이트하는 방법을 사용할 수 있습니다. Pull과 Fetch의 차이점도 알아보았는데, Pull은 자동으로 병합되지만 충돌이 자주 발생할 수 있으며, Fetch는 변경사항을 로컬에 저장하기 때문에 유용하게 활용할 수 있습니다. Git conflict를 해결하는 방법을 알고 있다면 원활한 협업과 버전 관리를 할 수 있을 것입니다.
'IT' 카테고리의 다른 글
javascript map / javascript 배열 함수 map() 사용방법 및 예제 (0) | 2023.06.04 |
---|