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

Linux操作系统从入门到实战(十三)版本控制器Git基础概念讲解

Linux操作系统从入门到实战(十三)版本控制器Git基础概念讲解

  • 前言
  • 一、版本控制器Git是什么?
    • 什么是版本控制器?
    • Git的“前世今生”
  • 二、在Linux里安装Git
    • 不同Linux发行版的安装命令
      • 1. 如果你用的是Ubuntu或Debian(常见的桌面版Linux):
      • 2. 如果你用的是CentOS或RedHat:
    • 验证是否安装成功


前言

  • 在前几篇内容里,我们学习了Linux开发工具中make/Makefile的自动化构建知识,包括基础语法、推导过程和扩展规则
  • 接下来,我们就来聊聊另一个开发中必不可少的工具——版本控制器Git,从最基础的概念开始讲起

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的Linux知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12879535.html?spm=1001.2014.3001.5482

一、版本控制器Git是什么?

你在工作或学习中,有没有遇到过这样的情况?

比如写报告时,为了怕改乱了回不去,只能一次次复制副本:

  • “报告-v1”
  • “报告-v2”
  • “报告-v3”
  • “报告-确定版”
  • “报告-最终版”
  • “报告-究极进化版”

最后虽然只用一份,但中间的版本都得留着。可版本多了就会懵:“v2和v3到底改了啥?”

写代码也是一个道理:一个项目可能改几十上百次,每次改动都可能出问题,万一改崩了想回退到之前能跑的版本,总不能全靠复制文件夹吧?

什么是版本控制器?

为了解决这个问题,“版本控制器”就诞生了。
简单说,它就是一个能记录文件每一次改动、追踪版本变化的系统。不管是文档、代码还是设计图,只要放进版本控制器,就能随时查看“谁在什么时候改了什么”,甚至能一键回退到任意历史版本。

而目前最流行、最强大的版本控制器,就是Git。

Git的“前世今生”

和很多伟大的工具一样,Git的诞生带着点“迫不得已”的味道。

早年间,Linux内核(就是我们一直在学的Linux系统的核心)的开发是个大工程,全球有无数开发者一起参与。2002年之前,大家一直用一个叫BitKeeper的工具管理代码(这是个收费的“分布式版本控制器”)。

但到了2005年,BitKeeper的公司和Linux社区闹掰了,收回了免费使用权。这时候,Linux的创始人Linus Torvalds(就是那个发明Linux的大神)急了:“没工具用?那就自己造一个!”

于是,Linus带着团队,基于之前用BitKeeper的经验,花了两周时间写出了Git的原型。他们给Git定了几个明确的目标:

  1. 速度快:代码库再大,操作也得流畅;
  2. 设计简单:容易上手,别搞太复杂;
  3. 支持多分支并行开发:比如同时开发“新功能”“修复bug”“优化性能”,互不干扰;
  4. 完全分布式:每个开发者电脑上都有完整的代码库,不用依赖中央服务器也能工作;
  5. 能管超大项目:像Linux内核这种几十万文件、几千万行代码的项目,也能轻松hold住。

从2005年到现在,Git越来越成熟,不仅满足了这些目标,还成了全球开发者的“标配工具”。

二、在Linux里安装Git

不同Linux发行版的安装命令

Linux有很多发行版(比如Ubuntu、CentOS、Debian等),安装命令略有不同,选自己对应的就行:

1. 如果你用的是Ubuntu或Debian(常见的桌面版Linux):

打开终端,输入以下命令(需要管理员权限,所以加sudo):

sudo apt-get update  # 先更新软件源(可选,但建议做,避免安装旧版本)
sudo apt-get install git  # 安装Git

2. 如果你用的是CentOS或RedHat:

终端输入:

sudo yum install git  # 安装Git(yum是这些系统的包管理器)

在这里插入图片描述

验证是否安装成功

安装完成后,在终端输入:

git --version  # 查看Git版本

在这里插入图片描述


以上就是Git的基础概念和Linux安装方法,下一篇我们会继续学习Git的核心操作:如何用Git管理自己的代码文件。

我的个人主页
欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的Linux知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12879535.html?spm=1001.2014.3001.5482

非常感谢您的阅读,喜欢的话记得三连哦

在这里插入图片描述

http://www.xdnf.cn/news/1244629.html

相关文章:

  • 深入浅出 RabbitMQ-路由模式详解
  • 自由学习记录(77)
  • 24. 前端-js框架-Vue
  • vite面试题及详细答案120题(01-30)
  • 【工程化】tree-shaking 的作用以及配置
  • 研发团队看板协作中的自动化实践:集成CI/CD与任务流转
  • 【Linux系统】进程间通信:基于匿名管道实现进程池
  • linux_https,udp,tcp协议(更新中)
  • C语言基础_随机数、数组、函数、指针
  • 【机器学习深度学习】模型压缩简介
  • C++ - 基于多设计模式下的同步异步日志系统(11w字)
  • NLP——BERT模型全面解析:从基础架构到优化演进
  • AWS EKS节点扩容时NLB与Ingress的故障处理与优化方案
  • LSTM + 自注意力机制:精准预测天气变化的创新方案
  • 深入剖析 RAG 检索系统中的召回方式:BM25、向量召回、混合策略全解析
  • JS-第二十一天-尺寸位置
  • Android UI 组件系列(十一):RecyclerView 多类型布局与数据刷新实战
  • AI 对话高效输入指令攻略(四):AI+Apache ECharts:生成各种专业图表
  • 【学习笔记】Manipulate-Anything(基于视觉-语言模型的机器人自动化操控系统)
  • 【09】C++实战篇——C++ 生成静态库.lib 及 C++调用lib,及实际项目中的使用技巧
  • javacc学习笔记 02、JavaCC 语法描述文件的格式解析
  • Druid手写核心实现案例 实现一个简单Select 解析,包含Lexer、Parser、AstNode
  • k8s常见问题
  • (论文速读)RMT:Retentive+ViT的视觉新骨干
  • 20250805问答课题-实现TextRank + 问题分类
  • 力扣热题100------21.合并两个有序链表
  • 8.高斯混合模型
  • k8s简介
  • 数据集相关类代码回顾理解 | np.mean\transforms.Normalize\transforms.Compose\xxx.transform
  • Claude Code六周回顾