Git으로 함께 작업하기
Git을 이용하면 프로젝트의 변경 이력을 남기고 동료의 작업을 가져올 수 있습니다. 프로젝트 설정 → 버전 관리의 연결·변경·공유에서 커밋과 Push를, 병합·충돌·기록에서 복제·브랜치 전환·병합을 진행합니다. 제작자 PC에 Git이 설치되어 있어야 합니다.
팀 프로젝트 가져오기
- 프로젝트 설정 → 버전 관리 → 병합·충돌·기록에서 HTTPS·SSH 저장소 주소 또는 기존 로컬 저장소 경로를 입력합니다.
- 복제할 빈 폴더를 선택합니다.
- 복제가 끝나면 프로젝트 열기로 그 폴더를 엽니다.
인증에는 PC에 설치된 Git의 자격 증명 설정을 사용합니다. 접속에 실패하면 먼저 Git의 로그인 상태와 저장소 접근 권한을 확인하세요.
브랜치를 바꾸거나 팀 변경 가져오기
- 편집 내용을 저장하고, 공유할 변경을 검토한 뒤 커밋합니다. 협업과 확장에 커밋과 Push 순서가 있습니다.
- Fetch로 원격 변경을 가져옵니다.
- 브랜치·충돌 새로고침에서 목록을 확인합니다.
- 필요한 로컬 브랜치나
origin브랜치로 전환하거나, 현재 브랜치에 팀 변경을 병합합니다. - 프로젝트를 다시 불러오고 검사와 미리보기로 결과를 확인합니다.
커밋하지 않은 변경이나 Git에 등록하지 않은 파일이 있으면 브랜치 전환과 병합을 진행할 수 없습니다. 편집기가 변경을 자동으로 치워 두거나 강제로 전환하지는 않습니다.
현재 브랜치에서 팀의 최신 커밋으로 바로 이동할 수 있으면 병합이 끝납니다. 양쪽에서 따로 작업했다면 자동 병합에 성공해도 커밋 직전에 멈춥니다. 결과를 확인한 뒤 직접 커밋하고 Push하세요.
충돌 해결하기
충돌 파일을 선택하면 공통 원본, 내 변경, 팀 변경을 비교할 수 있습니다.
- JSON 파일: 직접 고치거나 한쪽 내용을 선택합니다. 올바른 JSON 형식이어야 저장할 수 있습니다.
- 한쪽에서 삭제한 파일: 삭제를 유지할지, 남은 버전으로 복원할지 선택합니다.
- 이미지 같은 바이너리 파일: 파일 크기와 Git 식별자(blob ID)를 확인하고 한쪽 버전을 선택합니다.
파일과 해결 방법을 확인하고 저장하면 해당 파일이 스테이징됩니다. 프로젝트를 다시 불러와 참조와 규칙을 검사한 뒤 커밋하세요. Git 충돌을 해결했더라도 게임의 장면 연결이나 규칙이 맞지 않을 수 있습니다.
앱을 다시 실행해도 진행 중인 충돌은 남아 있습니다. 다른 도구에서 파일이나 충돌 상태를 바꿨다면 목록을 새로고침하세요. 외부 Git 도구가 저장소를 변경하는 동안에는 편집기에서 동시에 저장하거나 병합하지 마세요. 심볼릭 링크와 서브모듈 충돌은 앱에서 해결할 수 없습니다.
병합을 취소하고 편집 내용 복구하기
병합 취소 및 편집 백업은 현재 HEAD와 다른 추적 파일과 모든 미추적 파일을 먼저 백업합니다. 백업 위치는 .git/narrafield-recovery/<UTC 시각>/files/이며, 삭제한 파일의 정보는 manifest.json에 남습니다.
백업이 끝나면 git merge --abort로 병합을 취소합니다. 취소에 실패하면 백업 위치와 오류를 표시합니다. 복구할 때는 백업 파일을 직접 확인해 필요한 내용만 되돌리세요. 편집기가 원본을 자동으로 덮어쓰지는 않습니다.
큰 이미지 파일과 Git LFS
LFS 화면에서 설치된 Git LFS의 버전과 파일 상태를 확인할 수 있습니다. Git LFS가 없다면 먼저 설치해야 합니다.
LFS 파일을 사용하는 프로젝트에서 Push하면 git lfs push origin HEAD로 큰 파일을 올린 뒤 일반 Git 변경을 공유합니다. 복제할 때 LFS 파일을 받을 수 있는지는 원격 저장소의 지원 여부, 인증, PC의 설치 상태에 달려 있습니다.
두 PC 사이의 실제 인증과 파일 수신, 누락된 에셋에 대한 내보내기 차단, LFS 잠금 화면은 추가 확인 또는 개발이 필요한 부분입니다. 프로젝트를 가져온 뒤 이미지가 모두 열리는지 확인하세요.
고급: Git 실행 방식과 확인된 범위
편집기는 Git에 인자를 직접 전달하며, 각 명령에서 Hook 실행을 끕니다. 사용자 정의 merge driver와 콘텐츠 filter는 차단하고 표준 git-lfs filter만 허용합니다. 전역 Git 설정이나 기존 Hook 파일은 바꾸지 않습니다.
명령은 30초 제한으로 실행하며 대화형 인증 입력을 기다리지 않습니다. 네트워크 명령의 원문 출력에는 인증 정보가 섞일 수 있어 그대로 표시하지 않습니다.
로컬 자동 검사에서는 두 복제본을 이용한 변경 공유, 충돌 해결, 취소 시 백업, 미커밋 변경 보호를 확인했습니다. 한글·공백 경로, 잘못된 경로와 옵션 입력, 인증 정보 노출 방지, 저장소별 동시 작업 제한도 검사했습니다. 이 결과가 모든 원격 환경에서의 동작을 보장하지는 않습니다.
앞으로 달라질 점
GitHub 연결, 브랜치, 커밋, 병합은 프로젝트 설정 → 버전 관리에 모여 있습니다. 제작 작업 공간에서 현재 화면을 확인할 수 있습니다.
병합한 내용이 장면, 화면, 저장, 내보낸 게임에 제대로 반영됐는지 함께 확인하는 시험과 출시 도구도 준비하고 있습니다. 진행 중인 캠페인을 새 버전으로 옮기는 작업은 별도로 검토하게 됩니다.