Defold 为密切合作的小游戏团队而设计. 团队成员可以并行工作而不必担心融合问题. Defold 使用 Git 进行版本控制. Git 有助于分布式团队合作而且为各种工作流提供了得力的工具.
本地项目文件改变时, Defold 在 Changed Files 面板中追踪这些改变, 把每个新增, 删除或者修改了的文件罗列出来.
选中一个文件点击 Diff 来查看更改, 或者点击 Revert 来把文件还原回上次同步后的状态.
可以使用各种外部 Git 工具进行同步. GitHub Desktop, GitTower, Git Kraken 还有 SourceTree 都是很常用的.
项目同步意味着使本地项目文件与远程保持一致. 在以下情况下项目需要同步:
要同步项目, 选择菜单栏 File ▸ Synchronize. 会有一系列引导对话框帮助你完成同步.
点击 Pull 从服务器拉取更新并混合到本地. 如果发现冲突, 会提示你来解决:
对于每个冲突文件, 右键点击后从弹出菜单选择解决方法:
左边是从服务器上拉取的文件内容. 右边是本地的文件内容. 差别之处会做高亮显示便于查看.
内置比较工具仅用于文本文件. 然而, 因为 Defold 把项目中的许多文件 (游戏对象, 集合, 图集等等) 存储成简单易懂的 JSON 文件, 进行对比时也能明白区别是什么:
编辑器不提供对每个差别选择保留哪个的功能. 如果需要此功能可以使用 Git 命令行的混合工具.
拉取更新并解决冲突之后, 会提示完成对话框.
如果打算向服务器推送更新, 第一步必须做提交工作. 推送对话框会让你选择哪些文件需要提交并推送 (下图以橙色方框标明).
点击 Push 即可提交并推送到服务器.
Git 是知名的版本控制系统. 通过保留差别实现版本控制, 所以即使提交了很多版本其占用空间也不是很大. 但是像图片和声音这样的二进制文件, 就无法从 Git 的存储方案中收益了. 它们每次的提交都会保存整个文件而不是差异. 对于小文件还好办 (JPEG 或者 PNG 图片, OGG 声音文件之类的), 但是对于大型工程源文件 (PSD 文件, Protools 项目文件之类的). 这些文件随着项目进展越长越大. 这样的文件最好别用 Git 托管而是另找地方进行备份.
使用 Git 便于团队合作. 在 Defold 使用团队工作流. 同步时, 流程如下:
如果选择使用 Git 命令行或者其他第三方工具进行拉取, 推送, 提交, 混合, 建立分支等等都是可以的.
Did you spot an error or do you have a suggestion? Please let us know on GitHub!
GITHUB