일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 포토샵
- 코딩
- 웹개발
- 자바스크립트 기초활용
- 프로그래밍기초
- 취준생
- 주니어개발자
- 퍼블리싱
- 프론트엔드기술면접
- 웹퍼블리싱
- 프론트엔드
- 자바스크립트 활용
- 제주베이스코딩100제
- 생활코딩
- js
- 코딩공부
- 대학생
- 웹퍼블리셔기술면접
- 프로그래밍 기초
- javascript
- 프로그래밍
- 자바스크립트 기초
- 웹퍼블리셔
- frontend
- 개발
- 코린이
- 자바스크립트기초
- 자바스크립트
- 퍼블리셔
- 자바스크립트 실습
Archives
- Today
- Total
차곡차곡
[git] 깃 충돌 해결 방법 본문
같은 브런치에서 두사람이 작업을 하고있습니다
b가 작업하던 부분을 a가 이어받아서 작업을 해야합니다.
그럼 a는 지금 작업하던 부분과 이어받아서 작업을 해야하는 부분이 생기게됩니다. 이 경우 어떻게 해결을 하나요?
두 사람이 같은 브랜치에서 작업하고 있을 때, 작업을 이어받아 작업해야 하는 경우(예: A가 B의 작업을 이어받는 경우),
충돌(conflict)이 발생할 수 있습니다.
이를 효율적으로 해결하려면 Git을 사용한 몇 가지 방법을 통해 작업을 이어받고 충돌을 해결할 수 있습니다.
1. 최신 상태의 브랜치를 가져오기
먼저 A는 B가 작업을 마친 후의 최신 상태를 반영하기 위해 리모트 저장소의 최신 브랜치를 가져와야 합니다.
이는 B가 작업한 부분을 통합하고 A의 작업을 이어갈 수 있게 합니다.
1.1. git fetch 사용
git fetch origin
- 설명: git fetch 명령어는 리모트 저장소의 최신 상태를 로컬로 가져오지만, 자동으로 병합하지는 않습니다. 이를 통해 최신 변경 사항을 확인할 수 있습니다.
1.2. git pull 사용
git pull origin <branch-name>
- 설명: git pull은 리모트 브랜치의 최신 변경 사항을 로컬 브랜치로 자동 병합합니다. 만약 B가 이미 푸시한 변경 사항이 있다면 이를 병합하여 A의 작업을 이어갈 수 있습니다.
2. 충돌이 발생한 경우 (Merge Conflict 해결)
2.1. 충돌 상황 확인
- 병합 충돌이 발생하면 Git은 A와 B가 동시에 수정한 파일의 내용을 충돌 상태로 표시합니다.
- 충돌이 발생한 파일은 git status 명령어로 확인할 수 있습니다.
git status
2.2. 충돌 해결
- 충돌이 발생한 파일을 열어보면, 충돌된 부분은 다음과 같은 형식으로 표시됩니다:
<<<<<<< HEAD
A의 변경 사항
=======
B의 변경 사항
>>>>>>>
- 이 형식에서 **HEAD*는 현재 로컬에서 작업 중인 A의 변경 사항을 의미하고, ======= 아래는 B의 변경 사항입니다. A는 두 가지 변경 사항을 확인하고, 필요한 부분을 수정하여 충돌을 해결합니다.
- 수정이 끝나면 충돌 표시(<<<<<<<, =======, >>>>>>>)를 삭제하고, 파일을 저장합니다.
2.3. 충돌 해결 후 커밋
충돌을 해결하고 나면 해당 파일을 스테이징하여 커밋을 해야 합니다.
git add <file-name>
git commit -m "Merge conflict resolved"
3. 최신 브랜치에 A의 작업 푸시하기
충돌을 해결하고 나면 A는 자신의 변경 사항을 리모트 브랜치에 푸시할 수 있습니다.
git push origin <branch-name>
- 설명: A는 작업을 마친 후 최신 상태로 푸시하여, 다른 사람이 해당 브랜치에서 작업을 할 수 있도록 합니다.
4. 작업을 이어받는 방법 요약
- A는 리모트 브랜치의 최신 상태를 로컬로 가져옵니다 (git pull 또는 git fetch + git merge).
- 충돌이 발생하면, A는 충돌된 파일을 확인하고 수정하여 충돌을 해결합니다.
- 충돌 해결 후 커밋하고, 변경 사항을 리모트 브랜치에 푸시합니다.
이 과정을 통해 A와 B의 작업을 병합하여 작업을 이어갈 수 있습니다.
'기록' 카테고리의 다른 글
REST API 란 무엇인가요 (0) | 2025.03.09 |
---|---|
브라우저 저장소 이해하기 (0) | 2025.03.09 |
검색 엔진 최적화 SEO (0) | 2025.03.09 |
랜딩페이지란 무엇인가요? (0) | 2025.03.09 |
HTML5란 무엇이며, HTML과 HTML5의 차이점 (0) | 2025.03.09 |