git 충돌이 발생하는 대표적인 이유 2가지는
1. 여러 사람이 하나의 파일을 수정
2. pull을 주기적으로 받지 않아서 remote와 local 코드에서 차이가 발생
이렇게 말을 할 수 있다. 어떻게 이 2가지로 정의하냐면 우리 팀이 그랬다 (머쓱)
그러면 이제 인텔리제이에서 깃 충돌을 해결하는 방법을 적어보겠다.
어? 깃충돌 날 일이 지금 없어서 스크린샷을 찍기가 힘들다. 그래서 일단 글로만 적고 추후에 충돌을 발생시켜 다시 적어보겠다.
branch에서 코드를 작성하고 commit&push를 마쳤다. 그리고 merge request를 했더니 충돌이 발생한다면? git에서 제공해주는 해결 방법을 통해서 진행할 수 있지만 개인적으로 인텔리제이를 선호하기도 하고 우리 팀은 각자 셀프 merge를 하기 때문에 나는 인텔리제이에서 충돌을 해결한다.
1. main으로 이동(check out)
2. pull을 받아서 main을 최신 버전으로 만듦
3. 왼쪽 하단 git > local main 우클릭 > merge
이렇게 진행하면 창이 하나 뜬다. 왼쪽과 오른쪽 코드를 합쳐서 가운데에 완성본 코드를 만드는 것이다. 그러니까 기존 main에 있던 코드와 내가 작성한 branch의 코드 중에서 다른 점과 추가된 점을 찾아서 중앙으로 모으는 작업이다. 이 작업은 정말 신중해야되서, 해당 파일을 작성한 사람과 함께 코드를 넣을지 말지 회의를 해야한다. 코드가 길면 정말 오랜 작업이 필요하다 ㅠ.ㅠ
4. 다 합쳤다면 main에서 commit & push
5. git에서 merge request
최신의 local main과 내가 작성한 branch의 merge를 잘 해뒀다면 remote main에서도 잘 merge가 될 것이다!
'Project > Team Project' 카테고리의 다른 글
[Git] 팀프로젝트 GitLab 협업하기(local, remote main, branch) (0) | 2023.02.14 |
---|---|
AWS S3에 이미지, 파일 업로드 로직 구현하기 (0) | 2023.02.07 |
[Gitlab] Git 사용 방법 정리 (commit, push, branch, pull) (0) | 2023.01.19 |