git의 개념과 github를 다루는 방법에 대한 특강이 진행되었다.
정리 1 : https://velog.io/@jhk0701/Git-%ED%8A%B9%EA%B0%95-1
정리 2 : https://velog.io/@jhk0701/Git-%ED%8A%B9%EA%B0%95-1-2
이번 미니 프로젝트의 핵심은 여럿이서 프로젝트를 작성하고 이를 git과 github로 버전관리해보는 것이다.
그러니 간략하게 필수 기능을 정리하고 바로 실습에 들어갔다.
프로젝트 깃허브 링크
https://github.com/jhk0701/project-CardFlip
main 브런치에 빈 프로젝트를 만들고, dev 브런치로 복사했다.
그리고 모든 팀원들은 dev 브런치로 복사하여 개별 feature 브런치들에서 작업을 진행했다.
각자 작업을 마치고 19시부터 merge를 시작했다.
서로 독립적인 기능들 효과음, 타이머들을 먼저 merge했다.
예상대로 둘은 겹치는 부분이 없어서 충돌이 일어나지 않았다.
충돌이 예상되는 부분은 카드 애니메이션 작업과 카드 랜덤 배치 작업이었다.
우선 비교적 안전할 것이라 생각한 카드 프리팹과 애니메이션을 먼저 dev에 합쳤다.
근데 생각해보니까 이러면 안됐다. 그리고 그걸 작성하는 지금 깨달았지.
애초에 충돌이 예상되는 거면 저둘을 먼저 merge해서 충돌을 해결해야하지 않았나 싶다.
도중에 발생한 문제는 서로 동일한 스크립트의 작업이 있었다.
Card 스크립트는 둘이 동시에 작성하는 스크립트였는데 이 부분에서 충돌이 일어났고
둘중 하나를 선택하는 게 아니라 둘의 내용을 합쳐야했다.
도중에 일어난 문제의 코드를 보면서 필요한 내용들을 합쳤다.
다행이 내용들이 겹치진 않고 각자 다른 함수들을 추가했다.
또 다른 문제는 특정 프리팹이 merge 과정에서 제거되었다.
추정하기로는 어떤 프리팹과 meta data 상의 id가 겹쳐서 이를 대체한 것으로 보인다.
해결 방법은 특정 프리팹을 별도의 패키지로 export하고 브런치들은 merge한 후
이 패키지를 import 해주었다.
다행히 프리팹과 연관 스크립트들이 복구되었다.
merge 가 완료되었고 dev에 push해서 각자 자신들의 작업물이 잘 반영되어 있는지 확인하는 시간을 가졌다. 그리고 완료되었다면 오늘 작성한 feature 브런치들은 삭제하도록 했다.
내일은 다시 dev 브런치에서 새로운 작업들을 시작해볼 것이다.
오늘 작업한 브런치들과 merge 결과다.
다행히 merge가 마무리되어서 dev 브런치로 귀결되었다.
dev도 main 브런치에 pull해주면서 마무리했다.
https://github.com/jhk0701/project-CardFlip/pull/1
오늘 작업을 해보면서 겪은 문제점은 크게 3가지였다.
#내일배움캠프 #스파르타내일배움캠프 #스파르타내일배움캠프TIL