본문 바로가기

Unity 개발 공부

[내배캠] 본캠 4일차. 팀 카드 뒤집기 게임 Git 병합 충돌 #4

오늘은 5인 팀프로젝트를 GIt에 설정하는 방법을 배웠다.

1. 베이스 프로젝트로 레포지토리 생성방법

2. 레포지토리에 팀원들 공유하기

3. branch로 제작후 merge 기능으로 main branch에 합치기

 

1번에 대하여 문제될만한부분은 경로를 설정할때, 
프로젝트 폴더와 같은이름으로 프로젝트폴더 상위 경로를 지정하는것이다.

이렇게해야 git 관련 파일들이 게임 프로젝트 폴더안에 들어온다.

 

2번에 대하여는, git 홈페지의 setting 버튼을 누르고 collaborators에 팀원의 계정 이메일을 add people을 통해 연결해주면된다.

상단의 public repository는 언제든 manage visibility로 바꿀수있다.

 

3번에 대해서는 merge과정에서 main에서 같은 스크립트.cs로 작업하다보니 충돌들이 많이 있었는데... 이부분을 해결하기 위해서 
branch로 먼저 commit을 실시하고 그다음에 pull origin으로 main의 다른 사람들의 작업물을 받고 push origin 을 함으로서 해결을 할 수 있었다. 
물론 그과정중에 같은 스크립트를 수정중이여서 라인이 꼬인다면 수동으로 visual studio에서 병합편집기를 이용해 수정해주거나, 수동으로 로컬의 스크립트에서 코드들을 빼와서 main 에 업로드된 최신 스크립트에 손 병합을 해줘야한다.

가장 좋은것은 서로 파트를 나눠놓고, 해당 스크립트를 누군가 수정중이라면 건들지않는것이고, 

크게 수정이 들어갈 일이있거나, 다른 분이 수정중인 스크립트를 동시에 수정해야할 일이 생긴다면 main에서 branch로 자주자주 fetch origin , pull origin 과정을 통해 파일들을 최신화하면서 자신의 작업을 진행해야 대규모로 수정해야할 문제들이 없다.

 

참고로 병합중에 생긴 충돌부분을 나타내는 표식은

'<<<<<<< HEAD' 부터 '=======' 사이의 구간이 현재 체크 아웃된 파일의 내용이고 '=======' 부터 '>>>>>>> exp' 사시의 구간이 병합하려는 대상인 exp 브랜치의 코드 내용입니다.  이 정보를 참고로해서 두개의 코드를 병합한 후에 특수기호들을 제거해주시면 됩니다. 작업이 끝나면 파일을 저장.