Git 入门知识详解

news/2025/5/22 1:07:56/

文章目录

    • 一、Git 是什么
      • 1、Git 简介
      • 2、Git 的诞生
      • 3、集中式 vs 分布式
        • 3.1 集中式版本控制系统
        • 3.2 分布式版本控制系统
    • 二、GitHub 与 Git 安装
      • 1、GitHub
      • 2、Git 安装

一、Git 是什么

1、Git 简介

Git 是目前世界上最先进的分布式版本控制系统。版本控制系统能帮助我们更好地管理文件内容的版本。以用 Microsoft Word
写毕业论文为例,手动复制文件管理版本存在诸多问题:

  1. 版本回退麻烦:难以快速找回特定历史版本的内容。
  2. 文件管理混乱:大量相似文件难以取舍,不敢随意删除。
  3. 协作困难:文件传递和合并改动操作复杂。

理想的版本控制软件应能自动记录文件改动,支持回退到任意历史版本,只呈现最新版本文件,还能支持多人协作编辑。为此,出现了一批版本控制软件,如 VSS、CVS、SVN、Git 等,其中 Git 占据绝对霸主地位。一般版本控制工具包含客户端(本地编写内容及记录版本)和服务端(可将内容和版本记录保存在远程)两部分。

2、Git 的诞生

1991 年 Linus 创建了开源的 Linux 系统,在 2002 年以前,世界各地志愿者通过 diff 方式将源代码文件发给 Linus,由他手工合并代码。Linus 反对使用集中式的 CVS 和 SVN,因其速度慢且必须联网使用,而商用版本控制系统需付费,不符合 Linux 开源精神。

2002 年,Linux 代码库规模增大,Linus 选择了商业版本控制系统 BitKeeper,BitMover 公司授权 Linux 社区免费使用。2005 年,因 Linux 社区有人试图破解 BitKeeper 协议,BitMover 公司要收回免费使用权。Linus 花两周时间用 C 编写了分布式版本控制系统 Git,一个月内 Linux 系统源码就由 Git 管理。2008 年,GitHub 网站上线,为开源项目免费提供 Git 存储,众多开源项目迁移至此。

3、集中式 vs 分布式

3.1 集中式版本控制系统
  • 特点:必须有中央服务器,中央服务器存放所有版本信息,程序员机器上只有某个版本,开发工作依赖中央服务器,需提交新版本或拉取最新版本。
  • 缺点:必须联网才能工作。若中央服务器在局域网,程序员回家无法加班;若在互联网,带宽和网速受限,影响文件提交速度。
  • 常见工具:CVS 是最早的开源免费集中式版本控制系统,但存在提交文件不完整、版本库损坏等问题;SVN 修正了 CVS 的一些稳定性问题,是目前使用最多的集中式版本库控制系统;还有收费的 IBM ClearCase,安装大、运行慢;微软的 VSS 设计反人类,微软自己都很少使用。
3.2 分布式版本控制系统
  • 特点:可以有中央服务器,中央服务器存放所有版本信息,程序员机器上也保存所有版本,中央服务器主要起网盘作用,即便没有也可正常工作。
  • 协作方式:每个人电脑都是完整版本库,工作时无需联网。多人协作时,可互相推送修改。
  • 优势:安全性高,某个人电脑坏掉可从其他人处复制版本库。实际使用中,通常有一台充当“中央服务器”的电脑方便交换修改。
  • 常见工具:除 Git 和 BitKeeper 外,还有 Mercurial 和 Bazaar 等,其中 Git 最快、最简单、最流行。

二、GitHub 与 Git 安装

1、GitHub

GitHub 是基于 Git 的远程文件托管平台,类似的还有 GitCafe、BitBucket 和 GitLab 等。Git 本身可实现版本控制,但内容和版本记录只能保存在本机,结合 GitHub 可将文件内容和版本记录同时保存在远程。使用场景分为无 GitHub 时仅在本地 .git 文件夹维护历史文件,有 GitHub 时在本地维护的同时将历史文件托管在远程仓库。

2、Git 安装

安装可参考:网址。Mac 和 Windows 系统下安装简单,点击操作即可;Linux
系统下安装步骤为解压、./configure、make、make install 。


http://www.ppmy.cn/news/1622610.html

相关文章

stack __ queue(栈和队列)

1. stack的介绍和使用 栈和队列里面都叫容器适配器 存储数据就要交给别的容器 通过封装别的容器,可以进行相应的操作,来达到目的 适配的本质就是复用 这就没有迭代器了,不支持随便遍历 2. queue的介绍和使用 下面用一些题来深入理解 栈…

多层pcb工厂哪家好?

在电子产业高速发展的今天,多层PCB作为硬件产品的核心组件,其品质直接影响终端设备的性能与稳定性。然而,面对市场上琳琅满目的供应商,如何筛选出技术过硬、服务可靠且性价比突出的工厂,成为许多工程师和采购方的难题。…

关于windows系统使用ssh链接gitee记录

文章目录 前言一、生成 SSH 公钥二、git使用ssh拉取代码、提交问题 前言 使用记录 一、生成 SSH 公钥 参考gitee介绍:https://help.gitee.com/base/account/SSH公钥设置 Windows 用户建议使用 Windows PowerShell 或者 Git Bash,在 命令提示符 下无 …

流动式起重机Q2证考试有哪些科目?

流动式起重机 Q2 证考试分为理论考试和实际操作考试两部分。具体如下: 理论考试 法规标准知识:《中华人民共和国特种设备安全法》《特种设备安全监察条例》《特种设备作业人员监督管理办法》等法规中有关流动式起重机操作、管理、检验检测规定&#xf…

AI图像分割总汇

AI 图像分割模型是计算机视觉中的核心研究方向之一,广泛用于自动驾驶、医学影像、遥感图像分析等领域。下面是对图像分割模型的一些 总汇与归类,按任务类型与模型架构演进进行系统整理。 图像分割模型总览 图像分割可以按任务类别划分为: 一…

mysql游标分页详解:让分页又快又稳的终极方案

一、什么是游标分页? 游标分页是一种更高效的分页方式,它通过"记住当前位置"而不是"数页码"来实现分页。就像看书时夹书签一样,游标分页会记住你看到哪里了,下次直接从那里继续。 传统分页 vs 游标分页 传…

天能资管(SkyAi):精准投资匹配,定制资产配置新体验

在资产配置领域,随着市场环境的日益复杂和投资者需求的日益多样化,个性化和精准化已成为投资者最为关注的核心诉求。天能资管(SkyAi)作为新加坡BEAVER TOKEN基金会旗下的科技先锋,凭借其强大的AI技术和丰富的市场经验,创新性地推出了精准投资匹配服务,为投资者带来了前所未有的…

linux基础操作1------(文件命令)

一.前言 我们本章开始讲解linux,我们对于linux得有重要的认识,比如项目部署等等,都会用到linux,今天我们就开始linux的学习,我们需要准备的工具有vmware和xshell,而这里我就不教大家虚拟机的安装以及xshel…