Unity 中使用 SourceTree 进行版本管理的操作指南(运用篇)
Unityでソースツリーを使ってバージョン管理する2(運用編)
提交
这是在个人电脑中执行“记录此状态”的操作。
在Unity中添加、修改或删除文件后
“将当前状态作为历史记录保存”
尚未发送到GitHub
仅是个人电脑中的本地记录
提交时需以简短文字描述“更改了哪些内容”(提交消息)
SourceTree中的操作
- 已更改的文件被检测到,并显示为“未暂存”
- 添加到暂存区(勾选复选框)
- 在下方的框中写入“调整玩家的跳跃力”等消息
- 按下“提交”按钮
合适的提交粒度
基本上要尽量做到1个提交对应1个变更。
如果混在一起,之后按提交为单位进行撤销等操作时会很不方便。
无论过于细碎还是过于粗略,之后都会变得麻烦。
PUSH
将自己电脑上提交的内容推送到 GitHub 的操作
将已提交的更改上传到网络上(GitHub)
这样其他人也能 PULL 该更改了
积分
仅仅提交(commit)的话,别人是看不到的
只有PUSH之后才会被共享
在PUSH之前,基本原则是尽量先PULL,保持最新状态
在SourceTree中的操作
按下上部的“推送”按钮
PULL
把 GitHub 上的最新状态取到自己的电脑上。
将其他人 Push 的变更反映到自己的项目中
“下载大家的最新版本”的感觉
什么时候做?
- 开始工作之前
- 当别人说“已更新”时
- 推送前(尽量保持最新状态后再发送)
SourceTree 中的操作
在 SourceTree 中只需点击上方的“拉取”按钮
注意点
如果您也在修改同一个文件,可能会发生冲突
养成在操作前进行PULL的习惯可以减少问题
关于预制体编辑的注意事项
务必在「预制体编辑模式」下进行编辑
如果直接编辑场景中的对象,会导致「场景被更改」。
如果意外地发生了场景的更改,
请在源代码树中右键点击场景文件(.unity),选择「放弃更改」
关于意外场景更改的注意事项
诸如附加文件等操作,即使没有更改场景的意图,也经常被检测为场景的更改。
建议尽量将游戏内的对象预制化,并在「预制体编辑模式」内进行附加。
如果检测到意外的场景变更,
请不要忘记在源资源管理器中右键单击场景文件(.unity),然后选择“放弃更改”。
撤销自己的更改(未提交时)
在源资源管理器中右键单击相关文件→放弃更改
暂时先做了临时实现的内容或场景变更保存后,会在源资源管理器中被检测为变更。
可以按文件单位将这些变更作废,非常方便。
撤销自己的提交(未推送时)
- 打开 SourceTree
- 从左侧的“历史记录”中,找到想要删除的提交的前一个提交
- 右键单击该提交
- 选择“将当前分支重置到此提交...”
- 选择重置类型
\n重置类型的区别(重要)
\nSoft
变更内容:保留在暂存状态
当您想要更改提交信息或合并提交时
Mixed(通常使用)
变更内容:作为未暂存的更改保留
适用于“希望完全撤销某次提交”的情况
Hard
变更内容:彻底消失
适用于想要丢弃所有变更内容的情况(注意!)
希望使他人的 PUSH 无效化
1. 安全的方法(推荐):Revert(创建撤销提交)
什么时候使用?
可能其他人已经拉取了该更改
在团队共享的仓库中
“只想消除更改的影响,历史记录可以保留”的情况
正在执行的操作
创建一个新的提交,以“撤销之前的推送内容”。
历史记录本身会保留,但文件状态会恢复到之前。
SourceTree中的操作步骤
打开 SourceTree
从左侧的“历史”或“日志”中找到要撤销的提交
右键点击该提交
选择“还原提交...”(Revert Commit)
出现确认画面时点击确定
将创建一个新的“Revert "○○"”提交
将其推送到远程
这样,对方推送的内容的影响就会被抵消。
优点
不容易破坏他人的工作(安全)
由于会保留完整的记录,因此可以知道“何时由谁撤销了”
缺点
历史记录中会留下“已撤销”的记录
想要回到特定时间
編集中…
来源:Qiita · Unity 开发社区 · qiita.com