当前位置: 首页 > news >正文

Git从基础到实践

1.Git是用来做什么的?

git就是一款版本控制软件,主要面向代码的管理。你可以理解为Git是一个代码的备份器,给你的每一次修改后的代码做个备份,防止丢失,这个是git最基本的功能。   

其次,git不止备份,当你需要比对多个备份的区别时,git会给出不同备份间的区别,帮你管理好版本。

2.为什么要选择Git?

在软件开发过程中,协同开发以及版本迭代更新是再正常不过的事情了。但是能够完整、便捷的将版本进行管理确是不太容易的一件事情。

就好比,一个项目,我们开发了第一版、第二版、第三版、打死不改版、绝对不改版、终极版、终极不修改版以至于再改就砸电脑版,最终敲定的方案是第一版。这种情况下,改到最后已经看不出当初的模样了。所以,我们需要将每一次的修改记录并保存下来,以便于为后面的版本溯源。

凡事都是有两面性的,作为版本保存和记录的软件系统也是一样的。所以就诞生了两种不同的管理模式,一种是叫集中式版本控制系统(例如CVS及SVN),另一种则是分布式版本控制系统(例如Git)。

2.1分布式版本控制工具

分布式版本控制系统,例如git,重点在于分布。分布的含义不是说每台计算机上只留有版本库的一部分。恰恰相反,分布的含义是每台计算机上都还有一个完整的版本库。所有版本信息仓库全部同步到本地的每个用户, 这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据。

2.2集中式版本控制工具

集中式版本控制系统诸如CVS,SVN等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新

3.如何使用Git?

3.1了解本地库,暂存区,本地仓库,远程仓库

3.2git的常用命令

3.3分支

基本概念

在版本控制的过程中,推进多个任务,为每个任务就可以创建每个任务的单独分支,使用分支可以使得程序员把自己的工作从开发主线上分离开来。开发自己的分支的时候,不会影响主线分支的运行,对于初学者来水,可以理解为分支就是副本,一个分支也就是一个单独的副本,分支底层也是指针的引用

常用命令

 合并分支的时候发生冲突

冲突的原因

合并分支的时候就会发现

如何解决冲突?

1.打开有冲突的文件

比较当前分支和传入分支的区别,进行修改,解决冲突

再添加到暂存区,提交更改

3.4git团队的协作流程

1.连接远程仓库的一些基本的命令

2.流程图大致如下

 总之,git这部分需要勤加练习,实践出真知

http://www.lryc.cn/news/218323.html

相关文章:

  • C 保留字解释
  • 【Web】https 与 http 的区别
  • 【KVM】半虚拟化和全虚拟化技术
  • react中的useReducer复杂的状态管理
  • SpringCloudAlibaba - 项目完整搭建(Nacos + OpenFeign + Getway + Sentinel)
  • 如何使用Python的matplotlib和seaborn库绘制颜色渐变的高级散点图
  • 根据Word模板,使用POI生成文档
  • 大语言模型的学习路线和开源模型的学习材料《一》
  • 【案例】3D地球
  • 安全组问题 访问华为云服务器端口
  • 音视频常见问题(七):首开慢
  • [SSD综述1.2] SSD 和 HDD(机械硬盘) 区别?
  • ali sdm docker
  • HCIE-kubernetes(k8s)-Authentication身份验证
  • uniapp开发小程序接入阿里云TTS语音合成(RESTful API)
  • 稳定性测试—fastboot和monkey区别
  • Python库Requests的爬虫程序爬取视频通用模版
  • ngx_http_set_response_header阅读
  • 词典查询工具django-mdict
  • Ubuntu20.04搭建RISC-V和qemu环境
  • 代码生成器
  • AndroidMonitor - 基于AndroidLocalService实现的抓取OKHTTP请求的工具
  • LuatOS-SOC接口文档(air780E)--nbiot - NB-IOT操作库
  • 大数据之LibrA数据库系统告警处理(ALM-12017 磁盘容量不足)
  • Python算法例4 求平方根
  • LVGL_多界面切换
  • C/C++输出字符菱形 2021年3月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
  • DI93a HESG440355R3 通过其Achilles级认证提供网络安全
  • Go中Panic and Recover
  • webpack 与 grunt、gulp 的不同?