跳到正文
Qiita · Unity 开发社区· 来源· kurisaka_konabe·· 4 小时前AI 评分1

Unity 中使用 SourceTree 进行版本管理的操作指南(运用篇)

Unityでソースツリーを使ってバージョン管理する2(運用編)

正文 · AI 翻译

提交

这是在个人电脑中执行“记录此状态”的操作。
在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