GIT 충돌 이유
서로 다른 브랜치가
동일한 부분을 다르게 저장하고 있는 경우
이를 merge 하는 과정에서 merge conflict가 발생한다
아래의 그림은
freshman 브랜치를 main 브랜치에 병합하려고 하니
merge conflict가 발생한 상황이다

참고로,
git merge를 호출하는 곳이 기준 브랜치이고
git merge 뒤에 작성한 브랜치가 기준 브랜치에 병합될 브랜치이다
GIT 충돌 해결법
충돌 해결법은 매우 단순하다
충돌이 난 부분을 하나로 선택해서 push를 하면 된다
아래의 그림에서 보다시피
Accept Current Change(현재 브랜치) , Accept Incoming Change(병합될 브랜치) 중
하나를 선택해서 정해주면 된다

그리고
add, commit, push 과정을 통해 GIT/GITHUB 충돌을 해결해
정상적으로 merge가 된 모습을 확인할 수 있다
GIT 충돌 최소화 방법
1. 작업자들 마다 독립성이 부여되어야한다
하나의 파일에 둘 이상이 작업을 하는 것을 최대한 피하는 것이 좋다
따라서, 서로의 영역에 침범하지 않도록 프레임워크를 짜서
중복 작업하는 부분을 줄이면
merge conflict를 최소화할 수 있다
2. push를 자주 해줘야 한다
여러 작업을 하고 한 번에 몰아서 push를 하는 경우
merge conflict 가능성이 높아지고
해결하기가 매우 힘들어진다
따라서, 작은 작업들을 수행하고 바로 push를 해주는 것이 좋다
3. merge를 자주 해줘야 한다 (branch의 유통기한을 짧게 해야 한다)
새로 만든 브랜치를 계속 길게 끌고 가면 갈수록
나중에 merge conflict를 해결하기 힘들어진다
따라서, 새로운 브랜치를 따서 짧게 작업하고 merge 하는 패턴이 좋다
3. pull을 자주 해줘야 한다
pull을 자주 해주지 않으면
기존 브랜치와 나의 브랜치가 점점 멀어지기 때문에
자주 pull을 해서 conflict를 최소화해야 한다
참고 문서
'GIT & GITHUB' 카테고리의 다른 글
GITHUB 협업 하는 방식 (0) | 2024.11.21 |
---|---|
커밋 메시지 작성 방식 (0) | 2024.11.21 |
GIT/GITHUB 초기 설정 및 기초 사용법 (0) | 2024.11.21 |