| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> 为什么要使用git,git架构分析 -> 正文阅读 |
|
[开发工具]为什么要使用git,git架构分析 |
前言本文面向的是像作者一样,是git小白的程序员,很多程序员是不使用git的,这很正常,比如嵌入式程序员,嵌入式程序员一般使用IDE进行开发,比如MDK、IAR等,嵌入式的软件程序相比较互联网的程序,代码量要少很多,功能也相对简单,再加上小厂很多也没有使用git的习惯,所以就会出现前面所说的,很多程序员不使用git。当然啦,git只是一个工具,会与不会也不能代表什么,程序员的能力还是要靠代码来体现的。 git应用场景git的介绍在网上有太多,就算是不太熟悉git的程序员大概也知道git是一种版本管理工具,那么git存在的意义是什么呢? 场景一个嵌入式程序员,在不使用git或其他代码版本管理工具之前,对于代码的开发和管理流程一般会这样:
对于使用互联网的程序员来说,上面的过程他们可能不能理解,原因可能如下:
场景问题分析为什么会有两种截然不同的习惯?我想有一下原因:
综上,我们分析了一些程序员不使用git的原因。再重复一次,git是一个工具,它能对程序开发起到锦上添花的作用,但是会与不会,用与不用,并不能代表什么。毕竟在git没有出现之前,也是有太多太多的大神级别的程序员的。 git解决了什么通过前面的场景分析,我们发现了一些痛点,那么git解决了什么呢?
git架构前面说的git的应用场景,对于git小白来说,还是会有些疑惑,说的那么好,理解起来好像还是很抽象,下面我们就简单的分析一下git的设计架构,来帮助理解。 工作区所谓工作区,就是工作的区域,也就是本地的工作目录,可以理解为我们的工程文件目录。工作区的内容会包含修改内容(未add)、提交到暂存区和版本库(当前提交点)的内容。 暂存区stage area,又称为索引区,这是git架构中非常重要的一个概念,是过渡阶段存放的地方,是我们修改提交版本库之前的一个过渡地方,git add命令就是将工作区内的修改内容,添加到暂存区。 本地仓库git最核心的功能、概念。是版本控制系统的仓库,存在于本地,当执行git commit命令后,会将暂存区的内容加载到本地仓库,然后会清空暂存区。可以使用merge或者rebase将远程仓库副本合并到本地仓库。 远程版本库于本地仓库概念一致,只不过存放在远程服务器,可用于远程协作。 远程仓库副本可以理解为存在于本地的远程仓库缓存,如果需要更新,可以使用git fetch/pull命令获取远程仓库内容。 git为什么可以备份、版本库管理从前面的git架构分析我们了解到了git的架构,对于git小白来说,可能还是感觉有点抽象,还差一点就能清晰了,那么这一点是什么呢?答案就在“本地仓库”里。 git保存的是修改,不是文件git是一个版本管理工具,所谓版本其实最重要的功能就是保存备份,那么git到底是如何保存备份呢? 本地仓库保存了所有的修改在本地仓库中,保存了从git init以来所有的修改,没错,这里用到了“所有”,整个生命周期的所有、everything修改,所有的修改对应着所有的commit、所有的分支管理、所有的过程信息。我们可以会滚到任何的一个有记录的节点。 git的强大回滚功能上面说到,本地仓库保存了所有修改,可能一些人还是会不以为然,会觉得,只要记录过程信息,回滚到以前,也不难啊,功能也谈不上多强大啊。能回到以前,还能回到以后吗?答案是:能。 小结
最后,嵌入式程序员如果可以,可以尝试使用git,锦上添花,要比些readme来记录要方便的多。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 18:30:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |