Files
netease-modsdk-wiki/docs/mcguide/27-网络游戏/课程1:成为Apollo服主及相关准备/第6节:版本管理建议.md
2025-03-18 14:46:12 +08:00

53 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
front:
hard: 进阶
time: 15分钟
---
# 版本管理建议
## 综述
版本管理是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理
版本管理最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。
### 版本管理工具的必要性
- 版本管理工具是多人团队开发不可或缺的,是实现开发团队并行开发、提高开发效率的基础
- 版本管理工具对软件开发进程中文件或目录的发展过程提供有效的追踪手段,保证在需要时可回到旧的版本,避免文件的丢失、修改的丢失和相互覆盖
- 版本管理工具通过对版本库的访问控制避免未经授权的访问和修改,有效保护企业软件资产和知识产权
### 常用版本管理工具比较
- 一般免费的版本管理工具最常用的就是SVN和GIT
- SVN属于集中式版本控制工具
- GIT属于分布式版本控制工具
### SVN的优缺点
- 优点1集中式管理管理方式在服务端配置好客户端只需要同步提交即可使用方便操作简单很容易就可以上手。
- 优点2在服务端统一控制好访问权限利用代码的安全管理。
- 优点3所有的代码已服务端为准代码一致性高。
- 缺点1所有操作都需要通过服务端进行同步这会导致服务器性能要求比较高。如果服务器宕机了就无法提交代码了。
- 缺点2分支管理不灵活svn分支是一个完整的目录且这个目录拥有完整的实际文件这些操作都是在服务端进行同步的不是本地化操作如果要删除分支也是需要将远程的分支进行删除这会导致大家都得同步。
- 缺点3需要联网。如果无法连接到SVN服务器就无法提交自己的代码更别说还原、对比等操作了。如果在内网还好网速比较稳定同步相对比较快如果是通过外网同步有可能就需要同步很久。
- 缺点4需要团队自己创建和管理代码仓库有一定的门槛
### GIT的优缺点
- 优点1分布式开发时可以git clone克隆一个本地版本然后在本地进行操作提交本地可以完成一个完整的版本控制。在发布的时候使用git push来推送到远程即可。
- 优点2git分支的本质是一个指向提交快照的指针速度快、灵活分支之间可以任意切换。都可以在本地进行操作可以不同步到远程。
- 优点3冲突解决多人开发很容易就会出现冲突可以先pull远程到本地然后在本地合并一下分支解决好冲突在push到远程即可
- 优点4离线工作如果git服务器出现问题也可以在本地进行切换分支的操作等联网后再提交、合并等操作。
- 缺点1git没有严格的权限控制一般是通过系统设置文件的读写权限来做权限控制。
- 缺点2工作目录只能是整个目录而svn可以单独checkout某个有权限的目录。
- 缺点3git上手困难纯使用者的学习成本相对svn来说比较高。
### 推荐
- 针对与新团队建议使用GIT进行代码版本管理并使用Gitee而不是Github作为远程代码仓库
## 使用GIT管理代码
### 下载安装GIT
- 第一步下载git命令行去[git官方站点](https://git-scm.com/downloads),根据自己的系统版本下载对应的命令行工具
- 第二步下载tortoisegit可视化工具去[tortoisegit官方站点](https://tortoisegit.org/download/),根据自己的系统版本下载对应的可视化工具
- 第三步下载tortoisegit可视化工具中文语言包去[tortoisegit官方站点](https://tortoisegit.org/download/)下载中文简体的Language Packs
- 第四步:按照指引依次安装第一步到第三步下载的程序
### 安装使用指引
- 文章:[使用 Gitee 进行代码管理](https://blog.csdn.net/baiketeam/article/details/82955848)
- 文章:[TortoiseGit安装、配置](https://www.cnblogs.com/xiuxingzhe/p/9312929.html)
- B站视频[GIT视频教程(结合github,码云)(无废话版)](https://www.bilibili.com/video/BV1LZ4y1W7Ld?from=search&seid=9689408860061067375)
- B站视频[尚硅谷GitHub教程](https://www.bilibili.com/video/BV1pW411A7a5?from=search&seid=4400489830029833022)