为什么需要 git 和 相关的小知识

news2024/12/26 22:17:41

为什么需要git和相关的小知识

先看一个实际需求,引出Git

问题: 公司五一活动计划

● 先说一个最简单的情况,比如你做了公司五一活动计划书(如图)

在这里插入图片描述

解决方案: 版本管理工具(Git)

一句话: Git 是目前最流行的分布式版本控制软件

Git 是怎么来的?

Git 之父:李纳斯·托沃兹(Linus Benedic Torvalds)1969、芬兰

Git 小故事

  1. Linux 内核开源项目有着为数众广的参与者, 绝大多数的Linux 内核维护工作, 都花在了提交补丁、保存归档的繁琐事务上(1991-2002 年间)。到2002 年, 整个项目组开始启用一个专有的分布式版本控制系统BitKeeper 来管理和维护代码

  2. 到了2005 年, 开发BitKeeper 的商业公司同Linux 内核开源社区的合作关系结束,他们收回了Linux 内核社区免费使用BitKeeper 的权力。(Linux 社区有好事者,破解BitKeeper, 也让BitKeeper 恼火.)

  3. 自己动手丰衣足食, Linus Torvalds 用2 周,开发出一套版本控制系统, 也是后来的Git

  4. Git 是目前世界上最先进的分布式版本控制系统, 免费、开源

版本管理

一句话: 在开发的过程中用于管理对文件、目录或工程等内容的修改历史,方便查看历史记录,备份以便恢复以前的版本的软件工程技术

可以完成哪些功能?

  1. 实现跨区域多人协同开发

  2. 追踪和记载一个或者多个文件的历史记录

  3. 组织和保护你的源代码和文档

  4. 统计工作量

  5. 并行开发、提高开发效率

  6. 跟踪记录整个软件的开发过程

  7. 减轻开发人员负担,节省时间,同时降低人为错误

主流版本控制工具/软件

  1. Git

  2. SVN(Subversion)

  3. CVS(Concurrent Versions System)

  4. VSS(Micorosoft Visual SourceSafe)

  5. TFS(Team Foundation Server)

  6. Visual Studio Online

版本控制分类

本地版本控制

本地版本控制
记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS

示意图

在这里插入图片描述

集中版本控制

● 介绍

  1. 所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改

  2. 用户的本地只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本

  3. 所有数据都保存在单一的服务器上,如果这个服务器会损坏(有很大的风险), 这样就会丢失所有的数据,需要定期备份

  4. 代表产品:SVN、CVS、VSS

● 示意图

在这里插入图片描述

分布式版本控制

  1. 所有版本信息仓库全部同步到本地的每个用户

  2. 可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push 到相应的服务器或其他用户那里。

  3. 每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据

  4. 更加安全, 不会因为服务器损坏或者网络问题,造成不能工作的情况

  5. 代表软件: Git

示意图

在这里插入图片描述

Git VS SVN

SVN

  1. SVN 是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都
    是自己的电脑,所以首先要从中央服务器得到最新的版本
  2. 完成工作后,需要把自己的代码送到中央服务器。集中式版本控制系统是必须联网才能
    工作

Git

  1. Git 是分布式版本控制系统,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。
  2. 协同的方法说明:比如自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。Git 可以直接看到更新了哪些代码和文件

Git 下载&安装

官网

  1. 地址: https://git-scm.com/

  2. 下载版本: Git-2.33.0.2-64-bit.exe

  3. 下载慢,可以到镜像下载: http://npm.taobao.org/mirrors/git-for-windows/

卸载

  1. 说明:如果安装过,可以卸载和老师版本保持一致
  2. 卸载步骤
  3. 到windows 的应用和功能,到的git, 卸载即可(如图

在这里插入图片描述

检查环境变量, 如果有和Git 相关的,删除即可

安装

  1. 说明:直接下一步即可,建议安装到非系统盘, 比如d:\

  2. 细节:安装路径不要带中文、空格、特殊字符

  3. 验证安装是否成功

点击右键如图

win10直接右击就可以
在这里插入图片描述

win11就需要

在这里插入图片描述

就可以看到了

在这里插入图片描述

Git 资料

Git 大全

  1. 地址: https://gitee.com/all-about-git
  2. Git 常用命令
    仓库https://gitee.com/all-about-git#%E4%BB%93%E5%BA%93
    配置https://gitee.com/all-about-git#%E9%85%8D%E7%BD%AE
    增加/ 删除文件https://gitee.com/all-about-git#%E5%A2%9E%E5%8A%A0%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6
    代码提交https://gitee.com/all-about-git#%E4%BB%A3%E7%A0%81%E6%8F%90%E4%BA%A4
    分支https://gitee.com/all-about-git#%E5%88%86%E6%94%AF
    标签https://gitee.com/all-about-git#%E6%A0%87%E7%AD%BE
    查看信息https://gitee.com/all-about-git#%E6%9F%A5%E7%9C%8B%E4%BF%A1%E6%81%AF
    远程同步https://gitee.com/all-about-git#%E8%BF%9C%E7%A8%8B%E5%90%8C%E6%AD%A5

Git 互动学习

地址: https://oschina.gitee.io/learn-git-branching/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/618060.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

读数据压缩入门笔记04_统计编码

1. 统计编码(statistical encoders)的算法 1.1. 每种编码方法都对每个符号的概率分布做了不同的假定 1.2. 需要处理的数据集中符号的概率分布与现有的VLC方法都不能完全匹配 1.3. 统计编码算法通过数据集中符号出现的概率来进行编码使结果尽可能与熵接…

【音视频开发】FFmpeg转换与封装 I - MP4格式

1 FFmpeg转换与封装 1.1 MP4格式转换 1.1.1 MP4格式标准 1 FFmpeg转换与封装 FFmpeg支持的媒体封装格式具有多样性与全面性,与此,我们还可以使用FFmpeg来对媒体格式进行转换与封装。 1.1 MP4格式转换 在互联网常见的格式中,跨平台最好的应…

【Vue】二:Vue核心处理---vue的其它指令和自定义指令

文章目录 1.vue的其它指令1.1v-text 和 v-html1.2 v-cloak1.3 v-once1.4 v-pre 2. 自定义指令2.1 函数式2.2 对象式2.3.定义全局的指令 1.vue的其它指令 1.1v-text 和 v-html v-text:当做文件解析。 v-html:当做 HTML 代码解析。 1.2 v-cloak v-cloa…

chatgpt赋能python:Python字典通过键找值:什么是Python字典?

Python字典通过键找值:什么是Python字典? Python字典是一种非常有用的数据类型,可以通过键值对方式存储和访问数据。它是Python的一种内置数据类型,可以在编程中非常方便地存储和操作数据。 Python字典可以存储任意类型的数据&a…

图书馆智能照明控制系统设计介绍 安科瑞 许敏

摘 要:简要介绍了一种新型的智能照明控制系统,论述了其系统特点和系统组成;结合该系统对某高校图书馆进行了照明节能设计。工程应用表明,该系统在公 共建筑节能中效果显著。 关键词:高校;图书馆&#xff…

【SpinalHDL快速入门】5.1、SpinalHDL组织结构之Component和hierarchy

文章目录 1.1、简介1.2、Input / output 定义1.3、修剪信号(Pruned signals)1.4、参数化硬件(在Verilog中称为“Parameter”)1.5、合成组件名称 1.1、简介 就像在 VHDL 和 Verilog 中一样,可以定义组件以用于构建设计…

Tableau招聘信息数据可视化

获取的招聘信息数据为某招聘网站发布的大数据及数据分析相关岗位,对其他计算机相关岗位的招聘信息数据分析也有一定的参考价值。因为所获取的招聘信息数据数量只有1万左右,实际的招聘信息数量肯定不止1万,所以可能会与实际信息有一定的误差。…

chatgpt赋能python:Python安装Gurobi优化器详细步骤

Python安装Gurobi优化器详细步骤 如果你是一个数据科学家或者运筹学专业的研究者,你肯定会经常接触到优化问题。Gurobi是一个流行的线性与整数规划优化软件包,它提供了出色的线性规划和整数规划支持,速度快,准确度高,…

nginx(八十三)error_page、proxy_intercept_errors深究

一 error_page和proxy_intercept_errors深究 强调: 本文只是基于状态码的角度来讨论error_page、proxy_intercept_errors差异性题外话: 让别人定位,一定要保留好事故现场,尽可能的提供更多的有用信息核心: 本文只讨论错误状态码的异常处理遗…

信息系统设计与分析

系统分析师作用 1. 业务需求 现有组织结构、组织目标、管理模式 部门业务、业务流程、业务规则 业务数据、业务过程与业务管理直接关系 业务优化与业务再造要求 2. 用户需求分析 新系统改进业务要求 对新系统的愿景与期望 对新系统使用要求 3. 系统需求分析 系统应具有哪些功能…

【JavaSE】Java(五十三):核心要点总结

文章目录 1. 简要说下什么是反射2. 什么是java序列化,什么情况下需要序列化3. 为什么需要克隆,如何实现克隆,深拷贝和浅拷贝区别4. throw 和 throws 区别5. final、finaly、finalize 区别 1. 简要说下什么是反射 Java反射是指在运行时获取类信…

chatgpt赋能python:Python安装dialog介绍

Python安装dialog介绍 Dialog是一个命令行工具,可以帮助用户在Linux系统中创建自定义对话框。它可以与多种编程语言一起使用,其中包括Python。在本文中,我们将详细介绍如何在Python中安装Dialog。 安装Dialog前的准备工作 在安装Dialog之前…

Git 命令行提交代码详细操作

Git 命令行提交代码操作(安装git后,鼠标右键打开Git Bash) 1、查看本地git绑定的用户名和邮箱: git config user.name git config user.email 2、① 修改本地git绑定的用户名和邮箱(全局): git config --global user.name “Your_userName” …

案例28:基于Springboot毕业设计系统开题报告设计

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

视频直播播放器弹幕功能API

POLYV播放器拥有弹幕功能,可以增加观看视频时的互动性。 功能API 参数 参数名类型默认值说明danmuEnablebooleanfalse是否开启弹幕功能showDanmubooleantrue开启弹幕功能后,弹幕初始显示状态。false则一开始不显示弹幕。banDanmuBtnbooleanfalse为true时…

【Vue】三:Vue组件: 组件使用和组件嵌套

文章目录 1.第一个组件1.1不使用组件前1.2创建组件1.3注册组件1.4使用组件1.5 细节 2.组件嵌套 1.第一个组件 1.1不使用组件前 1.2创建组件 Vue.extends({该配置项和new Vue的配置项几乎相同})区别: (1)创建Vue组件的时候,不能使…

MySQL 查询分析

一个低效查询引发的思考 上次在做银行对账,上传对账单后,出现对账超时的情况。查看日志发现,最后一条日志记录停在了对 c2c_zwdb.t_file_count 的查询 sql 上。使用 show processlist 命令来查看当前 SQL 的执行情况,如下&#x…

说说验证码功能的实现

前言 大家好,我是 god23bin,今天说说验证码功能的实现,相信大家都经常接触到验证码的,毕竟平时上网也能遇到各种验证码,需要我们输入验证码进行验证我们是人类,而不是机器人。 验证码有多种类型&#xff…

chatgpt赋能python:使用Python安装Gensim:简单而强大的自然语言处理库

使用Python安装Gensim:简单而强大的自然语言处理库 Gensim是一个Python库,它为自然语言处理任务和文本处理任务提供了简单而强大的接口。它可以用于文本相似性计算、主题建模、词嵌入和其他自然语言处理任务。Gensim库的优点之一是其简单性和易用性。在…

评述:量子传感器正掀起一场商业革命

光子盒研究院出品 量子传感器利用原子和光的基本属性来对世界进行测量。粒子的量子状态对环境极为敏感,这对传感来说是一个优点、但对制造量子计算机来说则是一个问题。使用粒子作为探针的量子传感器可以比设计的或基于化学或电信号的经典设备更精确地量化加速度、磁…