Programming/Git | Github

Git/GitHub: Conflict 사용하기

vita12321 2023. 9. 3. 09:03
728x90
반응형

오늘은 Git/GitHub에서 프로젝트를 진행하면서 자주 마주치게 되는 'Conflict' 대해 깊이 알아보겠습니다. 'Conflict' 여러 사람이 동시에 같은 코드를 수정하다 보면 발생할 있으며, 이를 해결하는 것이 협업의 중요한 요소입니다.


1. Git Conflict?

 

Git에서 'Conflict' 가지 이상의 Branch 같은 부분을 서로 다르게 수정했을 발생하는 문제입니다. 예를 들어, 개발자가 동일한 파일의 동일한 줄을 수정하고 각각의 변경사항을 병합하려고 이런 충돌이 발생합니다.

 

Git 어떤 변경사항이 올바른지 결정할 없기 때문에, 개발자에게 충돌을 해결하도록 요청합니다. 그래서 충돌된 부분을 확인하고 올바른 코드로 수정해야 합니다.


2. Git Conflict 해결 방법

 

충돌이 발생했을 번째 단계는 어떤 파일에서 충돌이 일어났는지 확인하는 것입니다. 이는 'git status' 명령어를 통해 확인할 있습니다.

$ git status

명령어를 실행하면 현재 Branch 상태와 함께 Conflict 발생한 파일들도 함께 표시됩니다.

 

충돌된 파일들을 열어보면, <<<<<<<, =======, >>>>>>> 등의 표시와 함께 어떤 부분에서 충돌이 발생했는지 표시됩니다. 여기서 <<<<<<< ======= 사이에 있는 내용은 현재 Branch 변경사항이고, ======= >>>>>>> 사이에 있는 내용은 병합하려는 Branch 변경사항입니다.

 

개발자들은 해당 부분들 어느 것이 최종적으로 반영되어야 하는 코드인지 판단하여 직접 수정해서 충돌을 해결해야 합니다.


3. GitHub에서 Conflict 사용하기

 

GitHub 인터페이스에서도 비슷한 과정으로 Conflict 처리할 있습니다:

 

1) 인터페이스 상단 바에서 "Pull requests" 탭으로 들어갑니다.

 

2) Merge conflict 있는 Pull request 찾아 클릭합니다.

 

3) "Resolve conflicts" 버튼을 클릭합니다.

 

4) GitHub 에디터 상에서 직접 Conflict들을 수정하여 Resolve 가능합니다. 이때, <<<<<<<, =======, >>>>>>> 등의 표시를 모두 삭제하고 올바른 코드만 남겨야 합니다.

 

5) 모든 Conflict들을 처리한 "Commit merge" 버튼 클릭하여 완료합니다.


4. 주요 포인트: Conflict 예방하기

 

추가적으로 기억해야 하나는 가능한 Conflict 예방하는 것입니다. 이렇게 하려면 작업을 조직하고, 자주 코드를 병합하여 최신 상태를 유지하는 것이 중요합니다.

 

특히, Branch 만들 때는 최신 상태의 메인 Branch로부터 만드는 것이 좋습니다. 그리고 작업 내용은 가능한 구체적이며 작은 단위로 커밋하는 것이 좋습니다.


5. 결론

 

Git/GitHub Conflict 해결은 여러 사람과 협업하며 동시에 다양한 작업을 진행할 필수적인 기술입니다. 이를 통해 서로 다른 변경사항들을 효과적으로 합칠 있으며, 프로젝트의 안정성을 유지할 있습니다.

 

하지만 충돌 자체는 나쁜 것만은 아닙니다. 오히려 충돌 과정에서 다른 개발자의 코드 변경사항에 대해 알게 되고 그에 따라 나은 코드 구조나 설계 방향 등에 대해 고민하게 됩니다.

 

따라서 Git/GitHub에서 제공하는 이런 충돌 해결 도구와 방법론을 활용한다면 개발 과정 전체가 더욱 건강하고 생산적으로 진행될 있습니다.

 

이상으로 Git/GitHub Conflict 사용 방법에 대한 글을 마칩니다. 정보가 여러분의 프로젝트에 도움이 되기를 바라며, 깊은 이해와 활용을 위해 실제 프로젝트에서 충돌 해결 과정을 직접 경험해 보시길 권장합니다.

728x90
반응형