UGit 正确操作流程

UGit 正确操作流程

适用于 Unity 美术项目的日常文件上传、下载与冲突处理。

Pull(拉取) :把远程更新真正下载并合并到当前本地分支,会改你本地文件。

Fetch(获取) :先看看远程有没有别人更新,不改你本地文件。

Push推到远程仓库

一、开始工作前:先下载最新内容

每次开始修改前都执行一次:

  1. 打开 UGit,确认当前仓库和分支正确。
  2. 点击顶部的 拉取 / Pull 。
  3. 确认拉取成功,UGit 的"变更"列表应为空。
  4. 再打开 Unity 开始修改。

说明:

  • Fetch / 获取 :只检查远程有没有新提交,不把文件更新到本地。先看看远程有没有别人更新,不改你本地文件。
  • Pull / 拉取 :下载远程提交并更新本地文件。日常开始工作优先用 Pull。把远程更新真正下载并合并到当前本地分支,会改你本地文件。
  • 如果 Pull 后 Unity 正在打开,建议等待资源刷新完成后再编辑。

二、上传文件的正确流程

完成资源制作后,按下面步骤操作:

  1. 在 Unity 中保存资源和场景。

  2. 回到 UGit 的 变更 页面。会看到修改后的变更内容; 如果是删除内容 需要.meta一起提交

  3. 检查变更文件列表和右侧差异:

    • 只勾选本次需要提交的文件。
    • Unity 新增、移动或删除资源时,通常资源文件和对应的 .meta 都要一起提交。
    • 不要把临时文件、个人配置文件或其他同事的改动误提交。
  4. 填写提交说明,清楚说明做了什么,例如:

把修改文件添加到 待提交里

  1. 点击 提交 / Commit。

如果不勾选 "推送到远程" 就是先提交到commit ,然后点击推送按钮再进行推送(PUSH)

如果勾选 "推送到远程" 就是直接推送(PUSH)

  1. 点击 推送 / Push,把提交上传到远程仓库。

如果勾选 "推送到远程" 就是直接进行推送(PUSH)

  1. 确认 Push 成功;必要时到仓库网页或提交历史确认自己的提交已出现。

日常口诀:

复制代码
Pull → 修改并保存 → 检查变更 → Commit → Push

三、Push 被拒绝时怎么做

Push 被拒绝通常表示:远程已经有别人先上传了新提交,而你的本地还没有。

按以下流程处理:

  1. 不要反复点击 Push。
  2. 点击 Pull,先下载其他同事的最新提交。
  3. 如果 Pull 成功且没有冲突:
    • 检查自己的文件是否正常。
    • 再点击 Push。
  4. 如果 Pull 提示冲突,按下一节处理。

四、发生冲突时的处理流程

冲突代表:你的本地修改与远程修改碰到了同一个位置,Git 无法自动决定保留哪一份。

正确处理步骤:

  1. 在 UGit 中确认冲突文件列表。
  2. 暂停继续编辑其他文件,先处理冲突。
  3. 双击冲突文件,打开 UGit 的冲突解决界面。
  4. 对每个冲突位置决定最终结果:
    • 保留本地:保留自己的内容。
    • 保留远程:保留同事上传的内容。
    • 手工合并:两边内容都需要时,人工编辑成最终版本。

文本文件常会显示下面的冲突标记:

复制代码
<<<<<<< 本地版本
你的内容
=======
远程内容
>>>>>>> 远程版本

处理完后,文件中不能残留:

复制代码
<<<<<<<
=======
>>>>>>>
  1. 保存文件。

  2. 在 UGit 中点击 标记为已解决 / Resolved。

  3. 检查最终文件内容和变更列表。

  4. 点击 提交 / Commit,提交说明例如:

    复制代码
    Fix: 张三 - 解决材质说明冲突
  5. 点击 Push。

  6. 如仍被拒绝,重复 Pull → 处理 → Commit → Push,直到成功。

五、Unity 美术资源发生冲突时

以下文件通常不适合手工合并:

复制代码
.unity
.prefab
.fbx
.psd
.png
.tga
.jpg
.wav
.mp4

遇到这类资源冲突时:

  1. 不要随意手工编辑文件内容。
  2. 先联系该资源的另一位修改者,确认哪个版本应保留。
  3. 在 UGit 冲突界面选择"保留本地"或"保留远程"的正确版本。
  4. 如果两人的修改都需要,通常由资源负责人在 Unity、Maya、Max、Photoshop 等工具中重新整合后,再提交最终资源。
  5. 资源对应的 .meta 文件也必须与最终资源版本保持一致并一同提交。

推荐做法:

  • 修改大型二进制资源前先在群内说明。
  • 如果项目启用了 Git LFS 文件锁,修改前先锁定资源。
  • 场景、Prefab、角色 FBX、PSD 等文件尽量避免多人同时编辑。

六、已 Push 错误内容时

不要使用强制推送覆盖远程历史。

正确方式:

  1. 在 UGit 的提交历史中找到错误提交。
  2. 右键选择 Revert / 还原提交。
  3. 这会生成一条新的"反向提交",安全撤销错误内容。
  4. Push 这个新的提交到远程。

七、提交前最终检查清单

复制代码
[ ] 已 Pull 最新版本
[ ] Unity 中已保存资源
[ ] 只勾选本次需要提交的文件
[ ] 新增/移动/删除资源时已包含 .meta
[ ] 没有提交临时文件、缓存文件或他人的内容
[ ] 提交说明清楚
[ ] Commit 后已 Push 成功

八 创建分支

1保持当前在 master,先点击上方"检查更新",确保本地 master 已更新。

2点击左侧"分支"标题右侧的 +(或点击顶部 master 下拉菜单)。

3 选择"新建分支",名称输入 001。

4 基于分支选择 master,并勾选/选择"创建后切换到此分支",确认。

5 此时左侧"本地"会出现 001,顶部当前分支也会变成 001。

6 点击右上角"推送"。

7 在弹窗中确认远程仓库为 origin、远程分支名为 001,选择"设置上游/跟踪远程分支"(如果有该选项),然后确认推送。

推送成功后,点击左侧分支栏的刷新按钮;在"远端 → origin"下就能看到 001。

九 分支合并到Master

  • 切到 001 分支,完成文件修改。
  • 在"变更"页暂存文件,填写提交说明,点击"提交到 001"。
  • 点击右上角分支下拉,切换到 master。
  • 先点击"检查更新",把远程 master 的最新提交拉下来。
  • 在左侧"本地"分支列表中,右键 001,选择类似"合并到当前分支 / Merge into current branch"的菜单项。
  • 确认目标是当前 master,来源是 001,执行合并。
  • 没有冲突时,UGit 会生成合并结果;点击右上角"推送",将 master 推到 origin/master。

如果出现冲突:

  • UGit 会在"变更"页列出冲突文件;
  • 打开并选择"使用当前分支(master)""使用传入分支(001)"或手动编辑;
  • 标记为已解决后,提交这次合并;
  • 再推送 master。

合并完成且确认远程 master 正常后,001 可以保留,也可以在本地和远程删除。

相关推荐
阿里云大数据AI技术10 小时前
StarRocks × Paimon C++:加速湖上数据分析
大数据·人工智能
用户36105886261210 小时前
Flink 配置深度剖析:从配置加载到参数调优的完整指南
大数据·flink
ha_lydms10 小时前
Window Functions(窗口函数)
大数据·数据仓库·hadoop·spark·数据处理·dataworks·maxcompute
2601_9520477911 小时前
委外入库单同步:旺店通到金蝶云星空的实战配置
大数据·钉钉·制造
阿里云大数据AI技术11 小时前
【云栖实录】一切数据,皆可计算:MaxCompute 升级为AI Native全模态计算服务
大数据·人工智能·agent
珠海西格电力11 小时前
物联网(IoT)在零碳园区中的关键作用:万物互联与数据采集
大数据·人工智能·物联网·安全·系统架构·能源
Elasticsearch11 小时前
Elastic 计划利用 NVIDIA RTX GPU 将 Jina 模型推理速度提升至 8 倍
elasticsearch
AI产品测评官11 小时前
2026企业AI招聘选型指南:四类技术路线与硬科技场景适配方案
大数据·人工智能·科技·求职招聘·ai-native
SelectDB技术团队11 小时前
Snowflake 的开源替代怎么选:能力对照、三条部署路径与迁移执行
大数据·数据库·云原生·开源·snowflake·apache doris
Elastic 中国社区官方博客11 小时前
告别繁琐控制台:Kabanos 如何将 MongoDB Compass 的易用性带入 Elasticsearch
大数据·数据库·mongodb·elasticsearch·搜索引擎·全文检索