前言
在日常开发中,你是否遇到过这些让人抓狂的场景?
- 改了一段代码发现改错了,想把文件恢复到昨天晚上的样子,却只能对着"最终版.zip""最终版2.zip""打死不改版.zip"发呆;
- 和同学一起写大作业,各自在QQ上传来传去,最后合并的时候发现代码互相覆盖,谁也说不清哪一行是谁写的;
- 面试官问起"你熟悉 Git 吗",你只能尴尬地说"会 clone 和 push"......
这些问题的根源,都在于缺少一个可靠的版本控制系统。而 Git,正是目前软件开发领域事实上的标准工具。无论是开源社区、互联网大厂,还是学校里的课程作业,Git 都已经成为开发者必备的"基本功"。
于是就有了这个系列------《Git 从入门到精通》。我将把 Git 学习中从安装配置、核心概念、基本操作、分支管理、远程协作、标签管理到企业级开发模型的完整知识,一篇篇梳理成通俗易懂的文章。它既是我自己的复习笔记,也希望成为你学习 Git 路上的一份清晰地图。
本篇作为系列的开篇,我们不急着敲命令,而是先搞清楚三个问题:什么是版本控制?为什么是 Git?如何把 Git 装到自己的电脑上? 万事开头难,把地基打牢,后面的路才走得稳。
1为什么需要版本控制
在开发过程中,我们经常会遇到这样的场景:改了一段代码发现不对,想退回昨天的版本;或者和同学一起写项目,需要把各自写的代码合并到一起。如果只靠"复制粘贴建文件夹"(比如 项目最终版.zip、项目最终版2.zip、项目打死也不改版.zip),不仅混乱,而且极易出错。
版本控制(Version Control) 就是用来记录文件内容变化,以便将来查阅特定版本修订情况的系统。它可以帮你:
- 回溯历史:随时退回到任何一个历史版本。
- 协同开发:多人同时修改同一项目,系统自动处理合并。
- 分支管理:在不影响主线的情况下开发新功能。
- 责任追踪:每一行代码是谁、在什么时候、为什么改的,一目了然。
2 集中式 vs 分布式:为什么是 Git
早期的版本控制工具(如 SVN)是集中式的:所有代码和历史记录都存在一台中心服务器上,一旦服务器宕机,所有人都没法工作,历史记录也可能彻底丢失。
而 Git 是分布式的。每台电脑上都有一个完整的仓库副本(包含全部历史记录)。即使没有网络,你也能在本地提交、查看历史、切换分支。服务器上的代码只是其中一个副本而已。这种设计让 Git 的速度极快(大部分操作在本地完成),也极其安全。
一句话总结: Git 是目前世界上最先进的分布式版本控制系统,由 Linux 之父 Linus Torvalds 开发,最初就是为了管理庞大的 Linux 内核源码。
3 Git 的安装
Git 是跨平台的,以下分别介绍 Linux(CentOS / Ubuntu)和 Windows 下的安装方法。
- CentOS 下安装
bash
# 更新 yum 源
sudo yum update -y
# 安装 Git
sudo yum install git -y
# 验证是否安装成功
git --version
# 卸载 Git
sudo yum remove git -y
- Ubuntu 下安装
bash
# 更新 apt 源
sudo apt-get update
# 安装 Git
sudo apt-get install git -y
# 验证是否安装成功
git --version
# 卸载 Git
sudo apt-get remove git -y
- Windows 下安装
Windows 用户可以直接前往 Git官网下载安装包。安装过程中一路"下一步"即可,建议在"Adjusting your PATH environment"界面选择 Git from the command line and also from 3rd-party software ,这样可以在 CMD 和 PowerShell 中直接使用 Git 命令。安装完成后,在桌面右键会多出 Git Bash Here 选项,点击即可打开 Git 命令行。
安装成功后,在终端输入 git --version,如果能看到类似 git version 2.xx.x 的输出版本号,就说明安装完成了。
4 小结
这一节我们完成了两件事:
-
明白了版本控制的意义,以及 Git 作为分布式系统的优势。
-
在 Linux(CentOS / Ubuntu)和 Windows 下完成了 Git 的安装与验证。
现在,你的环境已经准备就绪。下一节我们将进入 Git 的核心地带------工作区、暂存区、版本库 这三大区域。理解了这三大区域,你才能真正明白 add 和 commit 背后到底发生了什么。