표준 워크플로우
프로젝트 작업을 진행하면서 스프라이트를 생성하고, 스크립트를 수정하며, 타임라인을 삭제하는 등 프로젝트가 발전함에 따라 필요한 모든 작업을 자연스럽게 수행하게 됩니다. 이러한 모든 작업은 문제가 발생했을 때 추적하고 복구할 수 있는 것이 중요합니다. 이는 소스 제어를 사용하는 주요 이유 중 하나입니다. 소스 제어를 통해 사고가 발생했을 때 이전 상태로 되돌릴 수 있습니다. 이제 기본적인 워크플로우를 살펴보겠습니다.
시작하기
- 새로운 GML 프로젝트를 생성합니다.
- 소스 제어를 활성화합니다. 이렇게 하면 상단의 소스 제어 메뉴에 접근할 수 있습니다.
Create Project Repository
를 선택합니다.
기본 방이 빨간 느낌표로 표시되어 있으며, 이는 마지막 상태에서 수정되었음을 의미합니다. 프로젝트에 다른 리소스가 있다면, 모든 리소스가 동일한 아이콘을 가질 것입니다.
첫 번째 커밋
빈 프로젝트를 그대로 커밋하거나 기본 상태로 되돌릴 수 있는 옵션이 있습니다. 지금은 첫 번째 커밋을 진행하겠습니다.
Source Control > Commit Changes
를 클릭합니다.- 새로운 창이 열리면 세 가지 영역으로 나뉩니다:
- Staged Changes: 소스에 커밋될 변경 사항을 나타냅니다. 보통 비어 있을 수 있지만, 게임 옵션 변경이 표시될 수 있습니다.
- Unstaged Changes: 변경된 파일을 보여주지만, Git에 커밋하겠다고 알리지 않은 파일입니다.
- Commit Message: 변경 사항을 설명하는 메모를 추가할 수 있습니다.
모든 변경 사항을 커밋하기 위해 Stage All
버튼을 클릭하고, 커밋 메시지에 "First Commit!"을 입력한 후 Commit
을 클릭합니다. 모든 리소스에 초록색 체크가 표시되어 수정 사항이 없음을 나타냅니다.
상태 메시지 기호
작업 중 이 창에서 다양한 Staged 및 Unstaged 메시지는 기호로 접두사가 붙습니다. 사용되는 기호는 작업 및 파일에 따라 다릅니다:
기호 | 의미 |
---|---|
[...] | Staged Change |
[+] | Newly Added |
[->] | Renamed/Moved |
[-] | Removed |
[M] | Unstaged Changes |
[?] | Untracked File |
[!] | Missing File |
이제 작업 프로세스를 시작할 수 있으며, 프로젝트를 구축하고 변경 사항을 저장하고 커밋할 수 있습니다.
커밋 기록 확인
작업을 진행한 후, 언제든지 커밋한 내용을 확인하고 싶을 수 있습니다. 이를 위해 Source Control > View History
를 열어 커밋 기록 창을 엽니다. 이 창은 세 개의 패널로 나뉩니다:
- 상단 패널: 커밋 설명
- 중간 패널: 선택된 커밋에 대한 주석
- 하단 패널: 이 커밋에서 수정된 파일 설명
Diff Tool을 설정한 경우, 이 창에서 파일을 더블 클릭하면 변경 사항을 확인할 수 있습니다.
원격 저장소에 푸시하기
변경 사항을 온라인에 저장된 저장소로 푸시하고 싶을 수 있습니다. GameMaker 내에서 저장소를 생성한 경우 원격이 없으므로, 명령줄에서 git remote add <name> <url>
을 사용하여 추가할 수 있습니다.
활용 예제
다음은 소스 제어를 활용하는 몇 가지 예제입니다:
// 스프라이트 생성
var mySprite = sprite_add("mySprite.png", 1, false, false, 0, 0);
// 스크립트 수정
function myFunction() {
// 코드 수정
}
// 타임라인 삭제
timeline_delete(myTimeline);
// 새로운 오브젝트 생성
var myObject = instance_create_layer(x, y, "Instances", obj_MyObject);
// 리소스 추가
audio_play_sound(mySound, 1, false);
// 게임 옵션 변경
game_options_set("fullscreen", true);
이러한 예제들은 소스 제어를 통해 프로젝트를 관리하고 변경 사항을 추적하는 데 도움이 됩니다.