0
点赞
收藏
分享

微信扫一扫

Git_1 版本控制介绍

张宏涛心理 2022-05-02 阅读 96
gitgithub

【尚硅谷】Git与GitHub基础全套完整版教程(快速上手,一套搞定)_哔哩哔哩_bilibili

为什么需要版本控制?

单人开发有的时候,在开发过程中需要回退到之前的版本。好的版本管理可以大大提高开发效率。

多人开发的时候,不同人做修改 / 上传时间不统一,如果两个人同时上传,后者就会把前者的内容覆盖。普通文件服务器不能管理文件内容。

版本控制工具特性

版本控制是一种思想,版本控制工具(如 SVN、git)是对其实现。

集中式版本控制工具:如 SVN,开发人员都是客户端,而内容存储在服务器上,所有人和服务器交互。缺点在于服务器一挂,历史数据全部丢失,客户端上只能保存当前状态。(单点故障)

分布式版本控制工具:如 git ,开发人员在本地就能进行完整的版本控制。就算一个人的数据丢失了,依靠其他人的也能找回来,能有效避免单点故障。不过还是不建议本地库传数据,还是有一个远程库。

git其他优点:

  • 大部分操作在本地进行,不需要联网
  • 完整性保证(哈希算法,之后介绍)
  • 尽可能添加数据,而不是删除或修改数据
  • 分支操作快捷流畅
  • 与 Linux 命令全面兼容

版本控制工具应该具有的功能?

  • 协同修改:多个人并行不悖地修改同一份文件。
  • 数据备份:保存历史版本。
  • 版本管理:各个版本之间肯定有重叠的部分,这一部分不要重复保存。对此,SVN 采用增量式管理的方法(每次只保存修改的部分),git 采取的是文件系统快照的方法。
  • 权限控制:不同人的权限不同。git 不仅支持权限控制,还可以对团队外开发者贡献的代码进行审核。
  • 历史记录:查看修改人、时间、内容、日志等,还可以把本地文件恢复到之前的状态。
  • 分支管理:允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。

Git 结构

AbdOT.png

Git 和代码托管中心

代码托管中心可以帮我们维护远程库

局域网内:Gitlab

外网:Github,Gitee

开发者通过 push 把代码推送到远程库。其他开发者要先 clone 把代码克隆下来,然后加入团队,然后才能把自己做的修改 push 推送到远程库。再通过 pull 把其他人的操作拉取下来。

如果需要项目成员之外的人修改代码:那个人先通过 fork 克隆一个自己的远程库,然后自己对自己的远程库做 clone、push 等操作,修改完成之后向项目开发者发送 pull request 请求,开发者审核同意后 merge 合并代码。

举报

相关推荐

0 条评论