Workflow - kuimoani/defold GitHub Wiki
์ด ๋งค๋ด์ผ์ Defold์์ ์ด๋ป๊ฒ ์์ ์ ๋ค๋ฃจ๋์ง, ์ด๋ป๊ฒ ๊ฐ๋ ฅํ ๋ฆฌํํ ๋ง์ ์ฌ์ฉํ์ฌ ๋น์ ์ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ์ฝ๊ฒ ๋ฐ๊พธ๋์ง, ๊ทธ๋ฆฌ๊ณ ํ์ ๋ฐฉ๋ฒ ๋ฐ ์ธ๋ถ ์๋ํฐ๋ ๊ธฐ๋ณธ Git ๋๊ตฌ๊ฐ์ ๊ณ ๊ธ ์ฃผ์ ๋ฅผ ์๋ดํฉ๋๋ค.
๊ฒ์ ํ๋ก์ ํธ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค์ํ๊ณ ์ ๋ฌธ์ ์ธ ์์ฐ ํ๋ก๊ทธ๋จ์ผ๋ก ์ ์๋๋ ๊ทธ๋ํฝ, 3D๋ชจ๋ธ, ์ฌ์ด๋, ์ ๋๋ฉ์ด์ ๋ฑ ๋ง์ ์์ ์ธ๋ถ ์์ ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. Defold๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ธ๋ถ ํด๋ก ๋ณ๋ ์์ ์ ํ๊ณ , ์์ ์ค์ธ ํ์ผ์ ์ ์ฅํ๊ณ , Defold๋ก ์์ ์ ์ํฌํธํ์ฌ ํ๋ก์ ํธ ํ์ผ์ ๊ตฌ์กฐํ ํ๋ ๊ฒ์ผ๋ก ๋ง๋ฌด๋ฆฌํ๋ ์์ ํ๋ฆ์ผ๋ก ์ ํ ๋์ด ์์ต๋๋ค.
Git์ ์ฃผ๋ก ์์ค์ฝ๋๋ ํ ์คํธ ํ์ผ์ ์ฒ๋ฆฌํ๋๋ก ๊ฐ๋ฐ๋์์ผ๋ฉฐ ์ด๋ค ํ์ผ์ ๋งค์ฐ ์ ์ ์ฉ๋์ผ๋ก ์ ์ฅํ ์ ์์ต๋๋ค. ๊ฐ ๋ฒ์ ๊ฐ์ ๋ณ๊ฒฝ์ฌํญ๋ง ์ ์ฅ๋๋ฏ๋ก ํ๋ก์ ํธ์ ๋ชจ๋ ํ์ผ๋ค์ ๊ด๋ฒ์ํ ๋ณ๊ฒฝ ํ์คํ ๋ฆฌ๋ฅผ ๋น๊ต์ ์ ์ ๋น์ฉ์ผ๋ก ์ ์งํ ์ ์์ต๋๋ค. ๋ค๋ง ์ด๋ฏธ์ง๋ ์ฌ์ด๋ ๊ฐ์ ๋ฐ์ด๋๋ฆฌ ํ์ผ์ Git์ ์ ์ฅ๋ฐฉ์์ ๋์์ด ๋์ง ์์ต๋๋ค. ์ฒดํฌ์ธํ๊ณ ๋๊ธฐํํ๋ ๊ฐ๊ฐ์ ์ ๋ฒ์ ์ ๊ฑฐ์ ๊ฐ์ ๊ณต๊ฐ์ ์ฐจ์งํฉ๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์ต์ข ํ๋ก์ ํธ ์์ (JPEG, PNG ์ด๋ฏธ์ง๋ OGG๊ฐ์ ์ฌ์ด๋ ํ์ผ ๋ฑ๋ฑ)์๋ ์ค์ํ ์ด์๋ ์๋์ง๋ง ์์ ์ค์ธ ํ๋ก์ ํธ ํ์ผ(PSD๋ Protools ํ๋ก์ ํธ ๋ฑ๋ฑ)์ ๋ฌธ์ ๊ฐ ๋ ์๋ ์์ต๋๋ค. ์ด๋ค ํ๋ก์ ํธ๋ ํ์ผ์ ํ์ ์ ๋ชฉํ๋ก ํ๋ ์์ ๋ณด๋ค ๊ณ ํด์๋๋ก ์์ ํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ฏ๋ก ์ฉ๋์ด ๋งค์ฐ ์ปค์ง ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก Git์ ๋๊ท๋ชจ ์์ ํ์ผ์ ์ฌ๋ฆฌ๋ ๊ฒ์ ํผํ๊ณ ๋์ ๋ฐฑ์ ์ ์ ์งํ๊ณ ๋ณ๋์ ์๋ฃจ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ง์ฝ ํฐ ์ค์ผ์ผ์ ์์ ํ์ผ ์์ฑ์ด ํ์ํ ๊ฒฝ์ฐ์๋ ๊ฐ๋จํ ์คํฌ๋ฆฝํธ๋ฅผ ์ง์ ์ต์ข ํ์ผ๋ง Defold ํ๋ก์ ํธ ๊ณ์ธต ํด๋๋ก ๋ณต์ฌํ๋ ๋ฐฉ๋ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค.
๋ฆฌํํ ๋ง์ ์ค๊ณ๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํ์ฌ ์ด๋ฏธ ๊ฐ๋ฐ๋ ์ฝ๋๋ ์์ ์ ์ฌ๊ตฌ์ฑํ๋ ํ๋ก์ธ์ค๋ฅผ ๋งํฉ๋๋ค. ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฐํ๋ ๊ณผ์ ์์๋ ๋ญ๊ฐ๋ฅผ ๋ฐ๊พธ๊ฑฐ๋ ์ฎ๊ฒจ์ผ ํ ์ผ์ด ์ข ์ข ๋ฐ์ํ๊ณค ํฉ๋๋ค:
- ๋ค์ด๋ฐ ์ปจ๋ฒค์ ์ด๋ ๋ช ํ์ฑ์ ์ํด ์ด๋ฆ์ ๋ณ๊ฒฝํ ํ์๊ฐ ์๋ค.
- ํ๋ก์ ํธ ๊ณ์ธต๊ตฌ์กฐ์์ ๋ณด๋ค ๋ ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ํด ์ฝ๋๋ ์์ ํ์ผ์ ์ด๋์ํฌ ํ์๊ฐ ์๋ค.
- ๋ ๋์ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์ ์ฝ๋๋ ์์ ์ด ์ญ์ ๋ ๊ธฐ์กด ๊ฒ๋ค์ ๋์ฒดํ ํ์๊ฐ ์๋ค.
Defold๋ ์์ ์ด ์ฌ์ฉ๋๋ ๋ฐฉ์์ ์ถ์ ํ์ฌ ํจ๊ณผ์ ์ผ๋ก ๋ฆฌํํ ๋งํ๊ณ ์์ ์ด ์ด๋๋๊ฑฐ๋ ์ด๋ฆ์ด ๋ฐ๋ ๊ฒฝ์ฐ ์๋์ ์ผ๋ก ์ฐธ์กฐ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค. ๊ฐ๋ฐ์๋ ๊ทธ๋ฅ ์์ ๋กญ๊ฒ ์์ ํ๋ฉด ๋๋ฉฐ ์ด ํ๋ก์ ํธ๋ ํ์ผ์ด ์กฐ๊ฐ๋๊ฑฐ๋ ๋ถ๊ดด๋๋ ๊ฒ์ ๋๋ ค์ํ ํ์๊ฐ ์๋ ์ ์ฐํ ๊ตฌ์กฐ๋ก ๋์ด ์์ต๋๋ค. Defold๋ ๊ฐ๋ฅํ ์ฝ๊ฒ ๋ฆฌํํ ๋ง ์์ ์ ํ ์ ์๊ฒ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
๋ฆฌํํ ๋ง ์์ ๋์์๋ Defold๋ ์๋์ ์ผ๋ก ์ฐธ์กฐ๋ฅผ ์ ๋ฐ์ดํธ ํ์ง ์์ ์๋ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ์๋ ์๋ํฐ๊ฐ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ์ ์์ง๋ง ๋์ ์ ์ฉํ ์๋ฌ์ ํธ๋ฅผ ์ ๊ณตํ ๊ฒ์ ๋๋ค.
์๋ฅผ ๋ค์ด, Tilemap ์ปดํฌ๋ํธ๋ฅผ ๊ฒ์ ์ค๋ธ์ ํธ์ ์ถ๊ฐํ๊ณ ๋์ ๋ค์ ์ด ์ปดํฌ๋ํธ ํ์ผ์ ์ญ์ ํ๋ฉด, ๊ฒ์ ์คํ์ Defold ์ปดํ์ผ๋ฌ๋ ์๋ฌ๋ฅผ ๋ฐ์ํ ๊ฒ์ ๋๋ค. ์ด๋ ์๋ํฐ๋ ํ๋ก์ ํธ๋ทฐ, ๊ฒ์์ค๋ธ์ ํธ ๋๋ ์ปฌ๋ ์ ๊ณ์ธต์์ ๋ชจ๋ ๊ด๋ จ๋ ์๋ฌ๋ฅผ ์์ด์ฝ์ผ๋ก ํ์ํ๋ฏ๋ก ํด๋น ๋ฌธ์ ์ ์์น๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ๋๋ฐ ๋์์ด ๋ฉ๋๋ค.
์๋ฌ์ค์ ์ผ๋ถ๋ ๋น์ ์ด ์์ ์ ์ด์ด ์์ ํ์ ๋ Defold๊ฐ ์ฆ์ ์๋ฌํญ๋ชฉ์ ํ์๋๊ธฐ๋ ํ์ง๋ง, ํ๋ก์ ํธ๋ทฐ์ ์๋ฌ๋งํฌ๋ ์ปดํ์ผ๋ฌ๊ฐ ์คํ๋ ๋์๋ง ํ์๋ฉ๋๋ค.
๋ง์ฝ ์ธ๋ถ ์๋ํฐ(OS X์ Finder๋ Windows์ Explorer๋ Shell๊ฐ์)๋ก ํ์ผ์ ์ด๋ฆ์ ๋ฐ๊พธ๊ฑฐ๋ ์ด๋์ํจ๋ค๋ฉด ์๋ ๋ฆฌํํ ๋ง ๋ฉ์ปค๋์ฆ์ ๋์ํ์ง ์์ ๊ฒ์ ๋๋ค. Defold ์๋ํฐ ์ธ๋ถ์์ ํ์ผ ์์ ์ ํ๋ค๋ฉด ์์ ๊ณผ ์ฐ๊ฒฐ๋ ์ฐธ์กฐ๊ฐ ๊นจ์ง ์๋ ์๋ค๋ ๊ฒ์ ์ฃผ์ ๋ฐ๋๋๋ค.
Defold๋ ๊ฐ๋ ฅํ ํ์ ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ๋์์ต๋๋ค. ์ฌ๋ฌ ํ์ ๋ฉค๋ฒ๋ค์ ๊ฐ์ ์ปจํ ์ธ ๋ฅผ ๊ฑฐ์ ๋ง์ฐฐ ์์ด ๋ณ๋ ฌ์ ์ผ๋ก ์์ ํ ์ ์์ต๋๋ค. Defold๋ ๋ถ์ฐ ํ์ ๋๊ตฌ์ธ Git์ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ณ๋์์ต๋๋ค. Git์ ๊ด๋ฒ์ํ ์์ ํ๋ฆ๋ ๋ค๋ฃฐ ์ ์๋ ์์ฃผ ๊ฐ๋ ฅํ ๋๊ตฌ์ ๋๋ค. Defold๋ ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ๊ณ ๋ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ฒ์ ํ๋ก์ ํธ ์์ ์ ์์ํ๋ฉด (File > Open Project ๋ฉ๋ด ์ ํ), Defold๋ ์ด ํ๋ก์ ํธ์ ์๋ก์ด local branch๋ฅผ ์์ฑํ ๊ฒ์ธ์ง๋ฅผ ๋ฌป์ต๋๋ค.
New branch๋ฅผ ํด๋ฆญํ์ฌ branch์ ์ด๋ฆ์ ์ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ฉด Defold๋ ํ๋ก์ ํธ ์๋ฒ์ ์กด์ฌํ๋๊ฒ๊ณผ ๋๊ฐ์ ํ๋ก์ ํธ ๊ตฌ์กฐ์ ์์ ํ ๋ณต์ ํ์ ์์ฑํฉ๋๋ค. ์์ฑ๋ branch๋ ๋น์ ์ ์ปดํจํฐ์๋ง ์กด์ฌํฉ๋๋ค. ๋น์ ์ ์ํ๋ ๋งํผ ๋ง์ด ๋ง๋ค๊ฑฐ๋ ์ค์ผ ์๋ ์์ผ๋ฉฐ, ์ ๊ฒ์ ๋ง๋ค๊ฑฐ๋ ์ค๋๋ ๊ฒ์ ์ญ์ ํ ์๋ ์์ต๋๋ค.
์์ ์ ์์ํ๊ณ ํ๋ก์ ํธ์ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฅํ๋ฉด, ์ด ๋ณ๊ฒฝ์ฌํญ๋ค์ ํ์ฌ branch ์์ ์ ์ฅ๋ ๊ฒ์ ๋๋ค. ๋น์ ์ด ์ด branch๋ฅผ ์๋ฒ ๋ ํฌ์งํ ๋ฆฌ(repository)์ ๋๊ธฐํ(Synchronize)ํ ๋๊น์ง ์๋ฌด๋ ๊ทธ ๋ด์ฉ์ ๋ณผ ์ ์์ต๋๋ค.
ํ๋ก์ ํธ ๋ธ๋์น๋ฅผ ๋๊ธฐํํ๋ ๊ฒ์ ์๋ฒ์ ๋ง์คํฐ ๋ธ๋์น(master branch)์ ๋๊ฐ์ด ๋ง๋ ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์๋ฒ์์ ๋ณ๊ฒฝ๋ ์ฌํญ์ ๋ฌด์์ด๋ ์ง ๋น์ ์ ๋ธ๋์น๋ก ๊ฐ์ ธ์ค๋ฉฐ(pull) ๋น์ ์ ๋ก์ปฌ ๋ธ๋์น์์ ์์ ๋ ๊ฒ์ด ๋ฌด์์ด๋ ์ง ์๋ฒ ๋ ํฌ์งํ ๋ฆฌ๋ก ๋ณด๋ ๋๋ค(push).
๋ค๋ฅธ ํ๋ก์ ํธ ํ๊ณผ ๊ณต์ ํ๋ ๋น์ ์ ํ์ฌ ๋ธ๋์น์ ๋ช๋ช ์์ ์ ๋ง ๋๋๋ค๋ฉด, File > Synchronize ๋ฉ๋ด๋ฅผ ์ ํํ์ฌ ๋ณ๊ฒฝ์ฌํญ์ ์ ๊ฒํ๊ณ ์ ์ฉํ ์ปค๋ฐ ๋ฉ์ธ์ง๋ฅผ ์ ๋ ฅํ ์๋ ์์ต๋๋ค.
ํ๋ก์ ํธ์์ ๋ณ๊ฒฝ,์ถ๊ฐ,์ญ์ ๋ ๋ชจ๋ ํ์ผ๋ค์ ์ด ์ฐฝ์ ์๋จ์ ๋์ด๋ฉ๋๋ค. ๊ฐ ํ์ผ์ ์์๋ ์ฃผ์์ด ๋ฌ๋ฆฝ๋๋ค:
[M] ๋น์ ์ ๋ธ๋์น์ ์๋ ํ์ผ์ด ์์ ๋จ [A] ๋น์ ์ ๋ธ๋์น๋ก ํ์ผ์ด ์ถ๊ฐ๋จ [D] ๋น์ ์ ๋ธ๋์น์์ ํ์ผ์ด ์ญ์ ๋จ
ํ์ผ์ ๋ฐ์๋ ๋ณ๊ฒฝ์ฌํญ์ ํ์ธํ๋ ค๋ฉด, ๊ฐ๋จํ commit-list์ ํ์ผ์ ๋๋ธํด๋ฆญํ์ฌ ๋น๊ต ์ฐฝ์ ๋์ธ ์ ์์ต๋๋ค:
์ด ์ฐฝ์ ํ์ผ์ ๋๊ฐ์ง ๋ฒ์ ์ ๋ณด์ฌ์ค๋๋ค. (์์ ๋ ํ์ผ์ ๊ฒฝ์ฐ์ ์ถ๊ฐ/์ญ์ ๋ ํ์ผ์ ๊ฒฝ์ฐ๊ฐ ๋ค๋ฆ) ์ผ์ชฝ์ ๋ง์ง๋ง์ผ๋ก ๋๊ธฐํ ๋ ํ์ ์๋ฒ์์ ๋ณด์ฌ์ง๋ ํ์ผ์ด๊ณ , ์ค๋ฅธ์ชฝ์ ๋น์ ์ ๋ก์ปฌ ๋ฒ์ ์ ๋ณด์ฌ์ค๋๋ค. ์ฐจ์ด์ ์ ๋ช ํํ๊ฒ ๊ฐ์กฐํ์ํ์ฌ ์ ์ํ๊ฒ ๋ฆฌ๋ทฐํ ์ ์์ต๋๋ค.
๋ด์ฅ๋ ํ์ผ ๋น๊ต ํด์ ํ ์คํธ ํ์ผ์์๋ง ๋์ํฉ๋๋ค. ๊ทธ๋ฌ๋ Defold๋ ๋ชจ๋ ์์ ํ์ผ(๊ฒ์ ์ค๋ธ์ ํธ, ์ปฌ๋ ์ , ์ํ๋ผ์ค ๋ฑ๋ฑ)์ ์ฝ๊ฒ ์ดํดํ ์ ์๋ JSON ํ์ผ๋ก ์ ์ฅํ๋ฏ๋ก ๊ฐ ํ์ผ์ ์ ์ฉ๋ ๋ณ๊ฒฝ์ฌํญ์ ์๋ฏธ๋ฅผ ํ์ ํ ์ ์์ต๋๋ค:
๋ง์ฝ ๋น์ ์ด ํ์ผ๋ก ์ผํ๊ณ ์๋ค๋ฉด, ๋น์ ์ด ๋น์ ์ ๋ธ๋์น์์ ์์ ํ๋ ๋์ ๋ค๋ฅธ ์ฌ๋์ ๋ธ๋์น๊ฐ ์๋ฒ ๋ ํฌ์งํ ๋ฆฌ์ ๋๊ธฐํ ๋์์ ์๋ ์์ต๋๋ค. ๋น์ ์ด ์๋ฒ๋ก ๋ณ๊ฒฝ์ฌํญ์ ํธ์ฌํ๊ธฐ ์ง์ ์ ๋ช๋ช ๋ค๋ฅธ ํ ๋ฉค๋ฒ (ํน์ ๋ค๋ฅธ ์ด์ ๋ก ๋ ๋ค๋ฅธ ๋ธ๋์น๋ฅผ ์ฌ์ฉํ๋ ๋น์ )๊ฐ ๋ณ๊ฒฝ์ฌํญ์ ํธ์ฌํ ์๋ ์์ต๋๋ค.
์ด๊ฒ์ ๋ฌธ์ ๊ฐ ๋์ง ์์ผ๋ฉฐ, ๋๋ถ๋ถ์ ์ถฉ๋์ ์๋์ ์ผ๋ก ํด๊ฒฐ๋ ์ ์์ต๋๋ค. ํ์ง๋ง ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ฒ์ ๋ณ๊ฒฝ์ฌํญ๊ณผ ์์ ํ ๋๊ฐ์ ์์น์ ํ์ผ์ด๋ผ๋ฉด, Defold๋ ๊ฒฝ๊ณ ๋ฉ์ธ์ง๋ฅผ ํ์ํ๊ณ ์ถฉ๋์ ํด๊ฒฐํ๊ธฐ ์ํด ๋์์ ์์ฒญํฉ๋๋ค.
๋น์ ์ ๋ฒ์ ์ ์ ์งํ ๊ฒ์ธ์ง ์๋ฒ์ ๋ฒ์ ์ ์ ์งํ ๊ฒ์ธ์ง ์ ํํ ์ ์์ต๋๋ค. ์ถฉ๋ ๋ด์ฉ์ ๋ณด๋ ค๋ฉด, ํ์ผ์ ๋๋ธํด๋ฆญํ์ฌ ์ถฉ๋์ ๊ฐ์กฐํ์ํ ๋น๊ต์ฐฝ์ ๋์ ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
์ด ์๋ํฐ๋ ์ถฉ๋ํ๋ ๋ ํ์ผ์์ ๋ณ๊ฒฝ์ฌํญ์ ์ ํํ๋๋ก ํ์ง๋ ์์ต๋๋ค. ์ด๋ฌํ ์์ ์ด ํ์ํ ๊ฒฝ์ฐ๋ ๋ณ๋์ ๋ณํฉํด(merge tool)์ ์ฌ์ฉํ๊ณ ์ปค๋งจ๋๋ผ์ธ์์ Git ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์๊ธฐ ๋ฐ๋๋๋ค.
Defold๋ ์ด๋ฏธ์ง๋ฅผ ๋๋ก์ํ๊ฑฐ๋, ์ฌ์ด๋ ํ์ผ์ ๋ง๋ค๊ฑฐ๋, ๋ณธ ์ ๋๋ฉ์ด์ ์ ๋ง๋๋ ๋ฑ์ ์๋ํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ์ง ์์ต๋๋ค. ๋๋ถ๋ถ ์์ ๋ค์ Defold๊ฐ ์๋ ํน๋ณํ ๋๊ตฌ๋ฅผ ํ์ฉํ์ฌ ์ ์ํ ํ์๊ฐ ์์ต๋๋ค. Defold๋ ์ ํธํ๋ ์ธ๋ถ๋๊ตฌ์ ๊ดํด์๋ ๊ด์ฌ์ด ์์ต๋๋ค. ๋จ์ง ์ด๋ค ์ด๋ฏธ์ง ํ๋ก๊ทธ๋จ์ด๋ PNG ํ์ผ์ ์์ฑํ๊ณ ์ด๋ค ์ฌ์ด๋ ํ๋ก๊ทธ๋จ์ด๋ WAVํ์ผ์ ์ ์ฅํ ์ ์์ผ๋ฉฐ ์ด๋ค ์บ๋ฆญํฐ ์ ๋๋ฉ์ด์ ํ๋ก๊ทธ๋จ์ด๋ Spine JSON ํ์ผ์ ์ถ์ถ(์์ธํ ๊ฒ์ Spine ๋ฌธ์ ์ฐธ๊ณ ) ํ ์๋ง ์์ผ๋ฉด ๋ฉ๋๋ค.
Defold๋ ํ๋ก์ ํธ์ ์์ ๋ค์ ๋ณ๊ฒฝ์ฌํญ์ ๊ฐ์งํ๊ณ ์ด์ ๋ฐ๋ผ ์๋ํฐ ๋ทฐ๋ฅผ ์ ๋ฐ์ดํธ ํฉ๋๋ค. ์ ๋ฐ์ดํธ ์ฃผ๊ธฐ๋ ๋ณ๊ฒฝ ์ฆ์ ๋ฐ์ํ์ง๋ ์๊ณ ์๋ํฐ์์ ๋ณ๊ฒฝ์ฌํญ์ ๋ณด๋ ค๋ฉด 1~2์ด ์ ๋๊ฐ ๊ฑธ๋ฆฝ๋๋ค.
์๋์ ์ธ ์์ ์ถ์ ์ ํ์์ ๋ฐ๋ผ ์์ ํ๋ฆ์ ์ปค์คํฐ๋ง์ด์ง ํ ์ ์์ต๋๋ค.
๋น์ ์ ์ธ๋ถ ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฉํ์ฌ ์์ ๋ค์ ์๋์ ์ผ๋ก ๋ฆฌ๋น๋ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์๋ณธ ์ด๋ฏธ์ง๊ฐ ๋๋ฌด ๊ณ ํด์๋์ด๊ฑฐ๋ ์ ํ ๋ค๋ฅธ ํฌ๋ฉง์ ํ์ผ์ด๋ผ๋ฉด ๋น์ ์ ์คํฌ๋ฆฝํธ๋ ๋ฐฐ์นํ์ผ์ ์ฌ์ฉํด์ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ์ค์ด๊ฑฐ๋ ํ์ผํฌ๋ฉง์ ๋ณ๊ฒฝํ์ฌ ํ๋ก์ ํธ ํ์ผ๊ตฌ์กฐ์ ์ ๋นํ ์์น์ ๋ณต์ฌ ํ ์ ์์ต๋๋ค.
๋น์ ์ ํน์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ํน๋ณํ ๋ฐ์ดํฐ(table ๊ตฌ์กฐ ๊ฐ์)๋ฅผ ์์ฑ ํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ Lua ์คํฌ๋ฆฝํธ ํ์ผ์ ์ธ ์๋ ์์ต๋๋ค.
Defold๋ ํธ์งํ๋ ค๋ ํญ๋ชฉ์ ์ ํฉํ ์๋ํฐ๋ฅผ ์๋์ ์ผ๋ก ์ ํํฉ๋๋ค. ํ์ง๋ง Defold ํ ์คํธ ์๋ํฐ์์ ํน์ ํ๋ก์ ํธ ํ์ผ์ ์ง์ ์ฌ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค. ํน์ ์ํฉ์์ ์ด ๋ฐฉ์์ ๊ฝค ์ ์ฉํ๋ฉฐ, ์ถฉ๋์ ํด๊ฒฐํ ๋ ๋์๋๋ ํ์ผ ํ์์ ์์งํ์๊ธฐ ๋ฐ๋๋๋ค.
ํ ์คํธ ์๋ํฐ์์ ํ์ผ์ ์ด๊ธฐ ์ํด, ํ๋ก์ ํธ ๋ทฐ์ ํ์ผ์ ์ค๋ฅธ์ชฝ-ํด๋ฆญํ๊ณ Open With > Text Editor ๋ฉ๋ด๋ฅผ ์ ํํ์ธ์:
Defold๋ ํน์ ํ์ผ์ ๋ํด ์๋ํฐ๋ฅผ ์ ํํ ๊ฒ์ ๊ธฐ์ตํฉ๋๋ค. ํน์ ํ์ผ์ ํ ์คํธ ์๋ํฐ(Text Editor)๋ก ์ด์๋ค๋ฉด, ๊ทธ ํ์ผ์ ๋๋ธํด๋ฆญํ๋ ๊ฒ์ผ๋ก ์๋์ ์ผ๋ก ํ ์คํธ ์๋ํฐ์์ ์ด๋ฆฌ๊ฒ ํ ์ ์์ต๋๋ค. ํ์ผ์ ๋ํด ์ ํ๋ ์๋ํฐ ์ ๋ณด๋ฅผ ์ด๊ธฐํ ํ๋ ค๋ฉด, ๊ทธ๋ฅ ํ์ผ์ ์ค๋ฅธ์ชฝ-ํด๋ฆญํ์ Open With > [Filetype Editor] ๋ฅผ ์ ํํ์ญ์์ค. [Filetype Editor]๋ ํ์ผ์ ์ข ๋ฅ์ ๋ง๊ฒ ์ฌ์ฉ๋๋ ์๋ํฐ์ ์ข ๋ฅ์ ๋๋ค. (์: ๊ฒ์์ค๋ธ์ ํธ๋ฅผ ์ํ ์ฌ์๋ํฐ(Scene Editor), ํ์ผ์์ค๋ฅผ ์ํ ํ์ผ์์ค์๋ํฐ(Tile Source Editor) ๋ฑ๋ฑ)
ํ ์คํธ ์๋ํฐ๋ฅผ ํตํด ํ์ผ์ ์์ ํ๋ ๊ฒ์ ์ถ๊ฐ์ ์ธ ์ฃผ์๊ฐ ํ์ํฉ๋๋ค. ๋ง์ฝ ํ์ผ๋ด์ฉ์ด ๊ผฌ์ธ๋ค๋ฉด ์ง์ ๋ ์๋ํฐ์์ ํ์ผ์ ์ด ์ ์๊ฒ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๊ฒ์ ์ค๋ธ์ ํธ ํ์ผ์ ์์ ํ๋๋ฐ ์ค๋ธ์ ํธ ์ด๋ฆ์ ๋์ ์๋ฐ์ดํํ๋๋ฅผ ๋นผ๋จน์๋ค๊ณ ์นฉ์๋ค.
ํ ์คํธ ์๋ํฐ์์ ์ด ํ์ผ์ ์ ์ฅํ๊ณ ์ฌ์๋ํฐ๋ก ๋ค์ ์ด๋ ค๊ณ ํ๋ฉด, Defold๋ ์๋ฌ๋ฅผ ๋ฐ์ํ๊ณ ๋น์ ์ ์ด ์๋ฌ๋ฅผ ์ง์ ๊ณ ์ณ์ผ(์ฌํธ์งํ๊ฑฐ๋ ๋ณ๊ฒฝ์ฌํญ์ ๋๋๋ฆฌ๊ฑฐ๋) ํฉ๋๋ค:
Defold๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ์ ์ ์ฉํ ์๋ฌ๋ฉ์ธ์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ๋๋ก๋ ์๋ฌ๋ฅผ ์ฝ๊ฒ ์ถ์ ํ ์ ์์ต๋๋ค. ์ถ๊ฐ์ ์ธ ๋์์ด ํ์ํ๋ค๋ฉด ๋ณ๊ฒฝ๋ ํ์ผ์ฐฝ(Changed Files pane)์ ํ์ผ์ ๋๋ธํด๋ฆญํ์ฌ ๋ง์ง๋ง ๋๊ธฐํ ์ดํ์ ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ์ ๋ณผ ์ ์์ต๋๋ค.
Defold๋ Git์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ํ์ผ๋ค์ ๋ฒ์ ์ถ์ ์ ๊ฐ๋จํ๊ณ ์ฝ๊ฒ ์ดํดํ ์ ์์ต๋๋ค.
- ์๋ํฐ์์ ์์ฑํ ๊ฐ ๋ธ๋์น๋ ์๊ฒฉ ํ๋ก์ ํธ ๋ ํฌ์งํ ๋ฆฌ์ ๋ณต์ฌ๋ณธ์ด๊ณ , ๋ณ๋์ ํด๋์ ์ ์ฅ๋ฉ๋๋ค.
- ๋ก์ปฌ์์ ์์ ํ ๋ณ๊ฒฝ์ฌํญ์ ๋ณต์ฌ๋ ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ์ ์ ์ฅ๋ฉ๋๋ค.
- ํ๋ก์ ํธ๋ฅผ ๋๊ธฐํ(Synchronize)ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ผ์ด ๋ฐ์ํฉ๋๋ค:
- ๋ณ๊ฒฝ์ฌํญ์ด ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ์ ์ปค๋ฐ๋จ(commit)
- ์๋ํฐ๊ฐ ์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ์์ ๋ณ๊ฒฝ์ฌํญ์ ๊ฐ์ ธ์ค๊ณ (pull), ์ด๊ฒ์ ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ์ ๋ณํฉํจ(merge)
- ๋ณํฉ์ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด(conflicts), ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ผ๋ ์ฐฝ์ด ๋ธ(resolve)
- ๋ง์ง๋ง์ผ๋ก, ๋ณ๊ฒฝ์ฌํญ์ด ์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ๋ก ์ ์ก๋จ(push)
Git ๋ช ๋ น์ค ๋๊ตฌ์์๋ ์๋ํฐ์ ๋์์์ด ์๋์ ์ผ๋ก ๋ช ๋ น์ ์ํํ ์๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ ํฌ์งํ ๋ฆฌ์ ์ปค๋ฐ ํ์คํ ๋ฆฌ๋ฅผ ์ถ์ ํ๋ ค๋ฉด:
git log
๊ทธ๋ฆฌ๊ณ ํน์ ์ปค๋ฐ์ผ๋ก๋ถํฐ ์ฒดํฌ์์์ ํ๋ ค๋ฉด:
git checkout <commit hash> <file path>
์ํ๋ค๋ฉด ์ง์ ์ํฌํ๋ก์ฐ๋ฅผ ๊ฐ์ ํ์ฌ ํ ๋ฉค๋ฒ๊ฐ์ ๋ณ๊ฒฝ์ฌํญ์ ์์ ๋ณ๊ฒฝ ์ฆ์ ๊ฐ์ ธ์ค๊ฒ ํ ์๋ ์์ต๋๋ค. ๋ ๋ช ์ด์์ ์คํ์ ์ธ ๋ธ๋์น ์์ ํ๊ฒฝ์ด ํ์ํ ๊ฒฝ์ฐ Git์ ํ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค. Git์ ๋ํ ์์ธํ ์ค๋ช ์ http://git-scm.com ์ ๋ฐฉ๋ฌธ ๋ฐ๋๋๋ค.
๋น์ ์ ์ปดํจํฐ์์ ํ ์คํธ ํ์ผ์ ํธ์ง์ค์ Returnํค๋ฅผ ๋๋ฅด๋ฉด, ๋ณด์ด์ง ์๋ ๋ฌธ์ ์ํ์ค๊ฐ ์ค์ ๋งจ๋์ ์ฝ์ ๋ฉ๋๋ค. ๋ค๋ฅธ ์ด์์ฒด์ ์์๋ ์ญ์ฌ์ ์ธ ์ด์ ๋ก ์ธํด ๋ค๋ฅธ ์ํ์ค๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ด์ฉ์ผ๋ก๋...
๋จ์ผ Line Feed ๋ฌธ์ (LF, "\n", 0x0A ๋๋ ์ญ์ง์์ 10)
Carriage Return ๋ฌธ์ ๋ค์์ผ๋ก Line Feed ๋ฌธ์ (CR+LF, "\r\n", 0x0D0A)
๋จ์ผ Carriage Return ๋ฌธ์ (CR, "\r", 0x0D ๋๋ ์ญ์ง์์ 13)
์ค๋ฐ๊ฟ(line ending)์ ๋ํด ๋ ์์ธํ ์๊ณ ์ถ๋ค๋ฉด, https://ko.wikipedia.org/wiki/์์ค_๋ฌธ์ ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
ํ์์ ์ฌ๋ฌ ์ด์์ฒด์ ๋ฅผ ์ฌ์ฉํ์ฌ ํจ๊ป ์์ ํ๋ ๊ฒฝ์ฐ, ์ค๋ฐ๊ฟ ๋ฐฉ์์ ๋ฌธ์ ๋ฅผ ์ ๋ฐํ ์ ์์ต๋๋ค. Defold์ ํ๋ก์ ํธ๋ทฐ์์ ์ ํ์ผ์ ์์ฑํ๋ฉด Unix ๋ฐฉ์์ ๊ฐํ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ฏ๋ก Defold์์๋ง ํ ์คํธ ํ์ผ์ ํธ์งํ๋ค๋ฉด ๋ณ ๋ฌธ์ ๊ฐ ์์ง๋ง ์ธ๋ถํด๋ก ๋ ๋ค๋ฅธ ๊ฐํ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ๋ฌธ์ ๊ฐ ๋ ์ ์์ต๋๋ค.
ํ ํ์์ด ์๋์ฐ ์ด์์ฒด์ ๋ฅผ ์ฌ์ฉํ๊ณ ๋ณ๋์ ์ธ๋ถ ํด๋ก Lua ์คํฌ๋ฆฝํธ๋ฅผ ํธ์งํ์ฌ ์๋์ฐ์ฉ ๊ฐํ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค. ์ดํ์ ๊ทธ ํ์์ Defold Lua ์๋ํฐ๋ก ๊ทธ ์คํฌ๋ฆฝํธ ํ์ผ์ ์ด์ด๋ดค์ง๋ง ๋์ผ๋ก ๋ณด๊ธฐ์ ๋ณ ๋ฌธ์ ๊ฐ ์์ด ๋ณด์ฌ ์ฆ์ ์๋ฒ ๋ ํฌ์งํ ๋ฆฌ๋ก ๋ณ๊ฒฝ์ฌํญ์ ๋๊ธฐํ ์ํต๋๋ค.
ํํธ, Mac OS X๋ฅผ ์ฌ์ฉ์ค์ธ ๋ค๋ฅธ ํ์์ด ๋์ผํ ํ์ผ์ ์ด์ด ํธ์งํ๊ณ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก๋ ํ์๊ฐ์ ๋ณ๊ฒฝ์์ ์ด ์๋ฃ๋๋ฉด ์คํฌ๋ฆฝํธ ํ์ผ์ ๋์ผํ์ง ์์ ๋ถ๋ถ๋ง Git์ด ์๋์ ์ผ๋ก ์ถฉ๋์ ํด๊ฒฐํ๊ณ ๋ณํฉํ๋๊ฒ ๋ณดํต์ ๋๋ค. ํ์ง๋ง ๋๋ฒ์งธ ํ์์ด ๋๊ธฐํ ์์ ํ Defold๊ฐ ์ถฉ๋์ ๊ฐ์งํ๊ณ ํ์ผ์ ๋๋ธํด๋ฆญํ์ฌ ๋น๊ต์ฐฝ์ ๋์๋ณด๋ฉด, ๋ชจ๋ ์ค๋ง๋ค ์ถฉ๋์ ๋ํ ํ์ด๋ผ์ดํธ๊ฐ ํ์๋๊ฒ ๋ฉ๋๋ค:
๋ ํ์ผ์ ๊ฐํ๋ฌธ์๊ฐ ์๋ก ๋ค๋ฅด๊ฒ ์ธ์ฝ๋ฉ๋์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ๋ฌธ์ ์ ๋๋ค. ํ์ชฝ์ LF๋ฅผ ๊ฐํ๋ฌธ์๋ก ์ฌ์ฉํ๊ณ ๋ค๋ฅธ ํ์ชฝ์ CR+LF๋ฅผ ๊ฐํ๋ฌธ์๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ฐ ์ค๋ง๋ค ์ถฉ๋์ด ๋ฐ์ํ๊ณ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ๋ง ํฉ๋๋ค. ํ์๋ค์ด ์ธ๋ถ ํด๋ค์ ์์ฃผ ์ฌ์ฉํ๋ค๋ฉด ๊ฐํ๋ฌธ์ ์ถฉ๋์ ๋งค ๋ฒ ๋ฐ์ํ ์ ์์ต๋๋ค.
Defold๋ ๊ฐํ๋ฌธ์๋ฅผ ๋ณผ ์ ์๊ฑฐ๋ ๋ณ๊ฒฝํ ์ ์๋ ๋๊ตฌ๋ฅผ ๋ด์ฅํ๊ณ ์์ต๋๋ค. File > Preferencesโฆ ๋ฉ๋ด๋ฅผ ์ ํํ์ฌ ํ๊ฒฝ์ค์ (preferences)์์ ๊ณต๋ฐฑ๋ฌธ์(whitespace)๊ฐ ๋ณด์ด๊ฒ ์ผค ์ ์์ต๋๋ค:
์ด ์ ํ ์ ์๋ํฐ์์ LF, CR, Space, Tab๊ณผ ๊ฐ์ ๋ชจ๋ ๊ณต๋ฐฑ๋ฌธ์๋ฅผ ๋ํ๋๊ฒ ํฉ๋๋ค:
๋ํ File > Convert Line Delimiters To > โฆ ๋ฉ๋ด ์ต์ ์ ํตํด์ ํ์ฌ ์ด๋ฆฐ ํ์ผ์ ์ ํ ํ๊ธฐ ์ํด ์ํ๋ ๊ตฌ๋ถ๊ธฐํธ(delimiter)์ ์ข ๋ฅ๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
Git์ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ค๋ฐ๊ฟ์ ์ฒ๋ฆฌํ๋๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค:
$ git config --global core.autocrlf input
# OS X์์ ์ค๋ฐ๊ฟ์ ์ ๋๋ก ํ๊ธฐ ์ํด Git ์ค์ ํ๊ธฐ
์ ์ญ Git ์ค์ ์ธ core.autocrlf๋ ํ๋ผ๋ฏธํฐ๋ฅผ ํ ๊ฐ ๊ฐ์ง๋๋ฐ:
๊ธฐ๋ณธ๊ฐ์ด๋ฉฐ Git์ด ํ์ผ์ ์ค๋ฐ๊ฟ์ ๋ค๋ฃจ์ง ์์ต๋๋ค. ๋น์ ์ LF, CR+LF ๊ฐํ๋ฌธ์๋ฅผ ํผํฉํ์ฌ ์ฒดํฌ์ธ ํ ์ ์์ผ๋ฉฐ Git์ ์๊ดํ์ง ์์ต๋๋ค. ์ฌ๋ฌ ์ข ๋ฅ์ ์ด์์ฒด์ ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ์ด ์ ํ ์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
Git์ ๋ชจ๋ ํ ์คํธ ํ์ผ๋ค์ ์ฒ๋ฆฌํฉ๋๋ค. ์์ ๋๋ ํ ๋ฆฌ์ ์ฐ์ฌ์ง ๋ ๋ชจ๋ LF ๊ฐํ๋ฌธ์๋ฅผ CR+LF๋ก ๋ฐ๊พธ๊ณ ๋ค์ ๋ ํฌ์งํ ๋ฆฌ๋ก ์ฒดํฌ์ธ ํ ๋๋ LF๋ก ๋๋๋ ค ์ค๋๋ค. ์ด ์ ํ ์ Windows ํ๊ฒฝ์์ ์ ์ฉํฉ๋๋ค.
Git์ ๋ชจ๋ ํ ์คํธ ํ์ผ๋ค์ ์ฒ๋ฆฌํฉ๋๋ค. ๋ ํฌ์งํ ๋ฆฌ๋ก ์ฒดํฌ์ธ ํ ๋ ๋ชจ๋ CR+LF๋ฅผ LF ๊ฐํ๋ฌธ์๋ก ๋ฐ๊ฟ์ฃผ๋ฉฐ ์ฒดํฌ์์ํ ๋๋ ํ์ผ์ ๊ฑด๋๋ฆฌ์ง ์์ต๋๋ค. ์ด ์ ํ ์ Unix๋ OS X ํ๊ฒฝ์์ ์ ์ฉํฉ๋๋ค.
๋ ํฌ์งํ ๋ฆฌ์ ".gitattributes" ํ์ผ์ ์์ฑํ์ฌ Git์ด ์ค๋ฐ๊ฟ์ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ ์ธ๋ฐํ๊ฒ ์ ์ดํ ์๋ ์์ต๋๋ค:
# ์ ์ ๊ฐ core.autocrlf ๋ฅผ ์
ํ
ํ์ง ์์ ๊ฒฝ์ฐ, ๊ธฐ๋ณธ ๋์ ์ค์
* text=auto
# ์ฒดํฌ์์์ ํญ์ ํ
์คํธํ์ผ์ ์ ๊ทํํ๊ณ ๋ค์ดํฐ๋ธ ์ค๋ฐ๊ฟ ํ์์ผ๋ก ๋ณํํ ์ง์ ๋ํด ๋ช
์์ ์ผ๋ก ์ ์ธํ๊ธฐ
*.c text
*.h text
*.sh eol=lf
*.lua text
*.py text
*.script text
*.gui_script text
*.go text
# ์์ ๋๋ฉด ์๋๋ ๋ฐ์ด๋๋ฆฌ ํ์ผ๋ค์ ๋ช
์ํจ
*.png binary
*.jpg binary
*.apk binary
*.ipa binary
*.jar binary
*.zip binary
*.ogg binary
".gitattributes"์ ๊ดํ ์์ธํ ์ฌํญ์ http://git-scm.com/book/ko/v2/Git๋ง์ถค-Git-Attributes ๋ฅผ ์ฐธ๊ณ ๋ฐ๋๋๋ค.












