Git 충돌 해결 방법

송용진·2024년 3월 11일
"""
Git 충돌은 
서로 다른 변경을 동일한 코드에 적용하려고 할 때 발생

1.Git 충돌이 어떻게 발생하는지, 
2.이를 어떻게 해결하는지, 
3.다중 개발자와 협업 시 충돌을 관리하는 법 등...
"""

1.충돌이 발생하는 경우

"""
충돌은 주로 두 개발자가 
동일한 파일의 동일한 라인을 동시에 수정하고 머지하려고 할 때 발생

예를 들어, 한 개발자가 코드의 특정 부분을 수정하고 커밋한 후, 
다른 개발자가 동일한 부분을 수정하고 커밋하려고 할 때 
충돌이 발생할 수 있음

이런 경우, 
Git은 어떤 변경사항을 우선적으로 적용해야 할지 알 수 없어 
충돌을 알려줌
"""

1.1동일한 코드를 동시에 수정하는 이유

"""
개발자들은 각자의 작업을 수행하면서 
종종 동일한 코드를 동시에 수정하게 됨

이는 항상 충돌을 야기하는 것은 아니지만, 
충돌을 일으킬 가능성이 있음

예를 들어, 
한 개발자가 특정 기능을 추가하거나 수정하는 작업을 수행하고 있을 때,
다른 개발자가 동시에 같은 코드를 수정하여 
다른 기능을 추가하거나 수정하려고 하면 
충돌이 발생할 수 있음
"""

2.충돌 해결 방법

"""
충돌이 발생했을 때 가장 먼저 할 일은 
어떤 파일에서 충돌이 발생했는지 확인하는 것

이를 확인한 후 
문제가 된 부분을 열고 
충돌을 일으킨 변경사항을 확인

Git은 충돌이 발생한 부분을 
'<<<<<<<', '=======', '>>>>>>>'로 표시해줌

개발자는 이 부분을 확인하고 
어떤 변경사항을 적용할지 결정한 후, 
충돌을 해결하고 커밋할 수 있음

이 과정에서는 다음과 같은 단계를 거침
"""

2.1충돌 발생 파일 확인

"""
Git에서는 `git status` 명령어를 사용하여 
현재 깃 상태를 확인할 수 있음

이 명령어를 실행하면, 
현재 변경 중인 파일, 
스테이징된 파일, 
그리고 충돌이 발생한 파일을 확인할 수 있음
"""

git status 명령어를 통해 충돌을 발견할 수 있는지 몰랐고
git hub를 통해 충돌 메시지를 발견했다.

(다음엔 git status 명령어를 통해
github 확인에 앞서
충돌을 확인해봐야겠다.)

2.2.충돌 부분 확인 및 수정

"""
충돌이 발생한 파일을 열어 보면, 
충돌이 발생한 부분이 
'<<<<<<<', '=======', '>>>>>>>'로 표시되어 있음
"""

우측 Resolve conflicts 버튼를 누르니
충돌이 발생한 부분이 어딘지,어떤 충돌이 발생했는지 파악할 수 있었다.
또한 web editor로 편리하게 충돌한 부분을 바로 수정할 수 있었다.

[충돌이 발생한 부분]

[충돌 수정 내역]

3.다중 개발자와의 협업 시 충돌 관리

"""
다중 개발자와 협업을 하면서 충돌을 피하려면, 
팀원들과의 충분한 커뮤니케이션과 코드 리뷰가 중요함

일정한 시간 간격으로 'pull' 명령을 실행해 
최신 변경사항을 반영하고, 
각자의 작업을 독립적인 브랜치에서 진행하는 등의 방법도 있음
"""

나는 최초 pull 명령 이후
팀원들의 머지가 여러번 이루어졌다는 사실을 간과하고 있었고
최신 변경사항을 반영하지 않은 상태에서
내가 만든 브랜치와 메인의 머지를 시도했기 때문에 충돌이 발생한 것 같다.

일정 시간 간격으로 pull 명령을 실행하여
최신 변경사항을 반영해야
충돌을 막을 수 있다는 점을 명심해야겠다.

3.1팀원들과의 통신

"""
팀원들과 충분한 커뮤니케이션을 통해 각자의 작업을 이해하고, 
각자가 어떤 부분을 수정하고 있는지 알고 있으면 
충돌을 피할 수 있음
이는 메신저, 이메일, 미팅 등 다양한 방법으로 이루어질 수 있음
"""

3.2코드 리뷰

"""
코드 리뷰는 다른 개발자가 작성한 코드를 검토하는 과정
코드 리뷰를 통해 다른 개발자가 어떤 변경을 수행하려고 하는지 이해하고,
이로 인해 가능한 충돌을 미리 예방할 수 있음
"""

팀원들과 원활하게 소통할 수 있는 능력,
소통을 통해 얻은 정보를 통해 각자의 작업을 이해할 수 있는 능력
을 발전시켜 충돌을 최소화해야겠다.

profile
개발자

0개의 댓글