바이너리 머지 전략

비디오 게임 업계에서는 아직 여러 브랜치에 걸쳐 바이너리 파일을 머지하는 전략은 여전히 골칫거리입니다. 이 문제는 왜 이리 해결하기 어려울까요. 또 어떻게 문제를 좀 완화할 수 있을까요.

바이너리 머지 전략

전부터 이 블로그에 올라온 글을 살펴보신 분들이라면 제가 을 굉장히 싫어한다는 걸 아실 수도 있습니다. 개인적으로는 좀 더 험한 표현을 사용해 깃을 씹기도 했고 또 공개된 장소에 ‘깃은 토이 프로젝트에 어울린다’는 말을 했다가 두고두고 까인 적도 있습니다. 실은 깃은 2024년 여름 현재 세계적으로 가장 널리 사용되는 형상관리도구이고 분산환경, 마이크로커밋과 마이크로브랜칭 같은 전략이 널리 사용되도록 만든 도구이기도 하며 현대 인터넷을 떠받치는 가장 중요한 운영체제 프로젝트 전체를 지탱하고 있다는 사실을 잘 알고 있습니다. 하지만 그런 대단한 도구라 하더라도 한 프로젝트에 여러 직군이 함께 일하며 코드 뿐 아니라 바이너리 데이터를 쉴 새 없이 커밋해야 하는 환경에서 깃은 잘 어울리지 않는다는 생각을 여러 차례 해 왔습니다. 특히 지난 프로젝트에서 처음으로 언리얼 엔진과 깃을 함께 사용했는데 그 경험이 너무나 파멸적이어서 앞으로 언리얼 엔진 기반으로 개발하려는데 형상관리도구로 깃을 사용하자는 사람이 나타나면 제가 직접 그 사람과 담판을 지어야겠다는 다짐을 했습니다.