当前位置: 首页 > 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.dtcms.com/a/315608.html

相关文章:

  • Qwen Image:开源中文渲染SOTA,重塑文生图技术边界
  • Spring Boot 整合 Web 开发全攻略
  • 机器学习Adaboost算法----SAMME算法和SAMME.R算法
  • AI+OA原生应用 麦当秀AIPPT
  • Day34 GPU训练及类的call方法
  • 【ESP32学习笔记】环境搭建和HelloEsp32
  • GPS信号捕获尝试
  • C++ - 基于多设计模式下的同步异步日志系统(11w字)
  • 深入 Java 性能调优:一场没有枪声的实战旅程
  • 自然语言处理×第三卷:文本数据分析——她不再只是贴着你听,而开始学会分析你语言的结构
  • css3属性总结和浏览器私有属性
  • GPT-5的诞生之痛:AI帝国的现实危机
  • Dubbo-Go调Bug记录-泛化调用调不通
  • 软件测试中,pytest 框架如何运行上传失败的测试用例?
  • AWS EKS节点扩容时NLB与Ingress的故障处理与优化方案
  • Linux 系统启动原理2
  • 基于Hadoop的成都市二手房数据分析与房价预测系统的设计与实现
  • C++(线程)
  • 小米最新ASR音频大模型MiDashengLM
  • WPF 与 Winform :Windows 桌面开发该用谁?
  • linux查看kafka的消费组里是否有积压
  • 电路基础相关知识
  • 【宇树科技+智元机器人】人形机器人产业链核心标的
  • 云手机具有哪些用途?
  • 机器人权利:真实还是虚幻,机器人权利研究如何可能,道德权利与法律权利
  • 腾讯云CodeBuddy AI IDE+CloudBase AI ToolKit打造理财小助手网页
  • arp欺骗
  • GitHub Models:为开源AI项目解决推理难题,让AI更易用、更普及
  • 探索设计模式的宝库:Java-Design-Patterns
  • [验证回文串]