1. 引言
在 Linux 开发的世界里,版本控制是每一位开发者必须掌握的技能。无论你是刚接触编程的新手,还是已经有一定经验的开发者,Git 都是你绕不开的工具。它不仅能帮你管理代码的历史版本,还能让你轻松地与团队协作,甚至将自己的项目分享到 GitHub 这样的开源社区。
本篇文章将从 Git 的起源讲起,带你一步步了解 Git 是什么、为什么需要它、如何安装配置,以及最核心的日常操作——也就是大家常说的「三板斧」:add、commit、push。最后,我们还会介绍一些进阶技巧,帮助你更高效地使用 Git。
2. 什么是版本控制
在正式介绍 Git 之前,我们先来理解一个概念:版本控制。
2.1 为什么需要版本控制
想象一下这个场景:你正在写一个项目,今天改了几行代码,明天又改了几行。过了一周,你发现某个功能被改坏了,但你完全不记得之前是怎么写的。如果没有版本控制,你只能靠手动备份文件来「存档」,比如把文件复制一份命名为 main.c.bak、main.c.bak2……这种方式不仅混乱,而且极易出错。
版本控制工具就是为了解决这个问题而诞生的。它能帮你:
- 记录每一次修改:谁在什么时间改了什么内容,一目了然。
- 随时回退:代码改坏了?一键回到之前的任意版本。
- 多人协作:多个开发者可以同时修改同一个项目,互不干扰,最后再合并到一起。
- 分支管理:可以开出一条「平行世界」来开发新功能,稳定版本不受影响。
2.2 集中式 vs 分布式
版本控制系统主要分为两类:
- 集中式版本控制(CVCS):代表有 SVN、CVS。所有代码都存放在一台中央服务器上,开发者从服务器拉取代码进行修改,再提交回服务器。缺点很明显:服务器一旦宕机,所有人都无法工作;而且如果服务器硬盘损坏,历史记录可能全部丢失。
- 分布式版本控制(DVCS):代表就是 Git。每个开发者的本地都有一份完整的代码仓库(包括全部历史记录),即使服务器挂了,本地依然可以正常提交、查看历史,甚至可以在本地创建分支。Git 的出现,彻底改变了版本控制的格局。
3. Git 的诞生与发展
Git 的诞生离不开 Linux 内核这个庞大的开源项目。
在 1991 年到 2002 年期间,Linux 内核的维护者 Linus Torvalds 一直通过手动打补丁和归档的方式来管理代码。随着项目规模越来越大,这种方式变得极其痛苦。
2002 年,Linux 内核团队开始使用一个专有的分布式版本控制系统 BitKeeper 来管理代码。然而到了 2005 年,开发 BitKeeper 的商业公司与 Linux 内核开源社区的合作关系结束,收回了免费使用的权利。
这迫使 Linus Torvalds 基于使用 BitKeeper 时的经验教训,开发出一套属于自己的版本控制系统。他为新系统制定了几个核心目标:
- 速度:操作必须快,不能拖慢开发节奏。
- 简单的设计:架构清晰,易于理解和使用。
- 对非线性开发模式的强力支持:允许成千上万个并行开发的分支。
- 完全分布式:每个开发者都有完整的仓库。
- 有能力高效管理超大规模项目:像 Linux 内核这样体量的项目也能轻松驾驭。
自 2005 年诞生以来,Git 日臻成熟,如今已经成为全球最流行的版本控制系统,无论是个人项目、企业级应用,还是像 Linux 内核这样的巨型开源项目,都在使用 Git。
4. 安装 Git
在 Linux 上安装 Git 非常简单,使用包管理器一条命令即可完成。
4.1 CentOS / RHEL 系列
sudo yum install -y git
4.2 Ubuntu / Debian 系列
sudo apt install -y git
4.3 验证安装
安装完成后,可以通过以下命令查看 Git 版本,确认安装成功:
git --version
输出类似:
git version 2.39.2
5. 在 GitHub 上创建项目
Git 是本地工具,而 GitHub 是一个基于 Git 的代码托管平台。我们可以把本地的代码推送到 GitHub 上,实现云端备份和分享。
5.1 注册账号
访问 GitHub 官网,按照提示注册账号,并进行邮箱验证。这一步比较简单,跟着官网指引操作即可。
5.2 创建仓库
- 登录成功后,进入个人主页,点击右上角的 New repository 按钮新建项目。
- 在新页面中输入项目名称(注意:名称不能重复,系统会自动校验,校验过程可能需要几秒钟)。
- 校验通过后,点击下方的 Create repository 按钮确认创建。
- 创建成功后,在项目页面中复制项目的链接(URL),以备接下来下载到本地使用。
5.3 克隆项目到本地
在本地创建一个用于存放代码的目录,然后执行:
git clone [url]
这里的 [url] 就是刚刚创建好的项目链接。执行后,GitHub 上的项目就会被完整地下载到本地。
6. Git 三板斧:add / commit / push
这是 Git 最核心、最常用的三个操作,也是每个初学者必须熟练掌握的「三板斧」。
6.1 git add:把文件交给 Git 管理
将代码放到刚才克隆下来的目录中,然后执行:
git add [文件名]
这条命令的作用是:将需要被 Git 管理的文件告知 Git。也就是说,把文件的改动「暂存」起来,准备提交。
如果想一次性添加所有改动,可以使用:
git add .
这里的 . 表示当前目录下的所有文件。
6.2 git commit:提交改动到本地
暂存好文件后,就可以提交了:
git commit -m "提交说明"
这条命令的作用是:将暂存区的改动正式提交到本地仓库。提交时一定要写清楚提交日志(-m 后面的内容),描述这次改动的详细内容,方便日后回溯。
6.3 git push:同步到远端服务器
本地提交完成后,还需要把改动推送到 GitHub 上:
git push
执行后,Git 会要求输入 GitHub 的用户名和密码(或 Token)。同步成功后,刷新 GitHub 页面就能看到代码的改动了。
6.4 三板斧流程图
下面用一张流程图来总结 Git 三板斧的工作流程:
示例操作:(以gitee为例)
(1)Linux机器向gitee远程仓库上传文件
假如我们在我们的服务器上面新建一个文件假如是test.c

此时我们这里写好了test.c文件,如果我们想要上传到远程的gitee仓库上面,此时就要用到我们的git三板斧,add,commit,push。
准备工作:先创建一个仓库,接着复制我们的远程仓库的链接

此时我们的这个仓库什么都没有,是一个空的仓库,下面我们要开始进行将Linux上面的test.c文件上传到这个仓库当中
第一步:git add test.c

此时我们的这个test.c文件就会被添加到git的缓存区
第二步:git commit -m 说明

当我们第一次使用git上传文件时,它会让你添加你的用户名和邮箱地址,这相当于如果你有什么违法行为,它会找到你的用户名和邮箱地址,也就相当于起到保护作用,我们这里正常输入我们的邮箱和用户名就可以。
第三步:git push
当我们第一次上传文件的时候,会跳转一个要求我们输入账号密码,输入之后我们就可以进行git push,之后我们的文件就会出现在我们的远程仓库上面。我们可以截图看一下我们的远程仓库gitee上面。

我们可以看到此时我们的远程仓库上面就出现了我们刚刚在Linux上面上传的test.c文件。
(2)gitee远程仓库向我们的Linux机器上面传文件
我们在上面看到我们从Linux向远端仓库进行上传文件,那么我们是否可以从gitee远程仓库向我们的Linux系统上进行传输文件呢?答案是当然可以的。下面我们来看一下具体操作。(很简单)
我们先复制一下我们的gitee远程仓库的地址,做好准备工作,接着我们直接在我们的Linux机器上输入一段代码:
git clone 仓库地址
这个仓库地址一般我们可以直接在我们的gitee远程仓库直接查看,我们直接复制粘贴即可


当我们输入之后,在我们的目录下面就会多出远端仓库所有的文件

我们可以看到,此时我们远程仓库的地址就出现了我们的Linux机器上面,也就是我们上面显示的Linux-operating-system,我们也可以和我们的远端仓库进行对比,就是我们所想要的文件

此时我们可以看到我们已经将远程仓库的文件上传到我们的Linux上面了。
7. 其他常用命令
除了三板斧,还有几个命令也是日常开发中经常用到的。
7.1 git status:查看仓库状态
git status
这条命令会告诉你当前仓库的状态:哪些文件被修改了、哪些文件被暂存了、哪些文件还没有被跟踪。
7.2 git log:查看提交历史
git log
这条命令会列出所有的提交记录,包括提交的哈希值、作者、时间和提交说明。
7.3 git pull:拉取远程更新
git pull
这条命令会从远程仓库拉取最新的代码并合并到本地。在团队协作中,每次开始工作前先 git pull 是一个好习惯。
7.4 .gitignore:忽略不需要管理的文件
在项目根目录下创建一个名为 .gitignore 的文件,里面列出不需要被 Git 管理的文件或目录。例如:
# 忽略编译产生的目标文件
*.o
*.i
*.s
# 忽略可执行文件
myproc
# 忽略临时文件
*.tmp
这样,git add . 时就会自动跳过这些文件。
8. 配置免密码提交
每次 git push 都要输入用户名和密码,确实有些麻烦。我们可以通过配置 SSH 密钥来实现免密码提交。
- 在本地生成 SSH 密钥:
ssh-keygen -t rsa -C "你的邮箱"
一路回车即可,生成的密钥默认保存在 ~/.ssh/id_rsa.pub。
- 查看公钥内容:
cat ~/.ssh/id_rsa.pub
-
登录 GitHub,进入 Settings → SSH and GPG keys → New SSH key,将公钥内容粘贴进去并保存。
-
之后在克隆项目时使用 SSH 链接(
[email protected]:用户名/仓库名.git),就可以免密码提交了。
9. 总结
本文从版本控制的概念讲起,介绍了 Git 的诞生背景、安装方法、GitHub 仓库的创建,以及最核心的「三板斧」操作。总结一下关键点:
- 版本控制是开发者管理代码历史的必备工具,Git 是目前最流行的分布式版本控制系统。
- Git 三板斧:
git add暂存改动 →git commit提交到本地 →git push推送到远程。 - 常用命令:
git status查看状态、git log查看历史、git pull拉取更新。 - 进阶技巧:
.gitignore忽略文件、SSH 免密码提交。
掌握了这些,你就已经迈出了 Git 入门的第一步。接下来,建议你动手创建一个仓库,把今天学到的命令都实际操作一遍。实践是最好的老师,祝你在 Git 的世界里玩得开心!
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/2501_94404690/article/details/166255697



