初识Git:告别“报告_final_v2.docx”的噩梦

1. 问题场景

你是否有过这样的经历:写论文、做项目或者整理方案时,为了保留不同的版本,文件夹里渐渐塞满了这样的文件:

复制代码
项目_v1.docx
项目_v2.docx
项目_最终版.docx
项目_最终版2.docx
项目_最终版_再也不改了.docx

一开始还清楚每个版本改了什么,时间一长,就完全分不清哪一版是真正想要的。更要命的是,万一硬盘出问题,所有历史版本可能一次性全部丢失。

这类问题在软件开发里同样存在,而且规模更大、协作人数更多。如果没有一套系统来管理代码的变更历史,开发就会变成一场灾难。这就是版本控制系统存在的意义。

2. 核心概念:版本控制就是一台"时光机"

简单来说,版本控制系统(VCS, Version Control System) 是一台能帮你自动记录文件改动的"时光机"。每当你完成一部分工作,就可以主动保存一个"快照"。之后任何时候,你都可以翻出过去的某个快照来查看或恢复,也可以把不同人的工作合并到一起。

Git 是目前最流行的分布式版本控制系统。它由 Linux 之父 Linus Torvalds 在 2005 年创造,最初用来管理 Linux 内核源代码,现在已经被全球无数开发者和企业使用。无论是个人项目,还是上千人的大型团队,Git 都能高效处理。

3. Git 能管什么,不能管什么

Git 对文本文件 (如源代码 .c .py .js,纯文本 .txt .md,网页 .html 等)的跟踪能力非常出色。它能精确到每一行:哪一行增加了什么,哪一行删除了什么,什么时候由谁改的。这对于代码评审和追溯问题非常有价值。

对于二进制文件 (如图片 .jpg .png,视频 .mp4,Word 文档 .docx 等),Git 同样可以管理,但无法跟踪文件内部的具体变化。你只知道文件大小从 100KB 变成了 120KB,却看不到是哪几像素改了,哪段文字变了。所以日常使用中,建议尽量把设计稿、文档等用纯文本或标记语言(如 Markdown)维护,把二进制资源文件作为一种"附属产物"来管理即可。

4. 安装 Git

不管用什么系统,安装完第一步都是打开终端(Windows 叫 Git Bash 或命令提示符),用一条命令验证一下。

4.1 Windows

推荐直接从官网下载安装包:https://git-scm.com/

下载后运行安装程序,一路使用默认选项即可。安装完成后,在开始菜单里找到 Git Bash,这是一个模拟 Linux 终端的程序,后面所有命令都在这里执行。

4.2 CentOS

先检查是否已经安装:

bash 复制代码
git --version

如果提示 command not found,说明未安装,执行:

bash 复制代码
sudo yum -y install git

4.3 Ubuntu

同样先检查:

bash 复制代码
git --version

如果未安装,执行:

bash 复制代码
sudo apt-get install git -y

5. 验证安装

无论哪种系统,打开终端后输入:

bash 复制代码
$ git --version
git version 2.25.1

如果能正确打出版本号,说明 Git 已经安装成功了。版本号可能不同,只要大于 2.x 就没问题。

6. 注意事项

  • 安装过程中如果遇到权限问题,Windows 下可以尝试右键"以管理员身份运行"安装包;Linux 下确保当前用户有 sudo 权限。
  • 后续所有操作都假设你在终端中熟练使用基本的 cdls 等命令,如果不熟悉,建议先花几分钟补充一下命令行基础。

7. 要点总结

  • 版本控制系统是开发者的必备工具,帮助你记录每一次改动,提供"后悔药"和"并行时空"。
  • Git 是目前的主流选择,对文本文件追踪能力极强,二进制文件只能追踪整体变化。
  • 安装 Git 后,通过 git --version 验证可用,就迈出了学习 Git 的第一步。

8. 练习题

  1. 在自己的电脑上安装 Git(Windows、macOS 或 Linux 均可)。
  2. 打开终端,输入 git --version,将输出的版本号信息截图保存。
  3. (思考题)回忆一下自己过去是否遇到过因为文件版本混乱导致的问题,如果当时用了版本控制,能怎样改善?

相关推荐
_codemonster17 小时前
git 容易混淆的点
git
_codemonster21 小时前
Git 最常用操作和原理
大数据·git·elasticsearch
_codemonster1 天前
.git文件夹里所有文件详解
git
01杭呐1 天前
一次错误分支合并导致 `master` 变脏的排查与修复
git
_codemonster1 天前
git本地以及github查看历史版本、版本回退
git·github
周小码2 天前
10分钟搭建私有Git服务器:Soft Serve实战
运维·服务器·git
梅塔文·欧帕西安卡琼2 天前
git的底层原理详解
git
待什么青丝2 天前
【git的摸鱼技巧】之工欲善其事
git·elasticsearch·搜索引擎
2601_961194022 天前
高中英语教资资料推荐|科三大题背诵和教学设计模板
git·开源·github·开源软件·开源协议·ossinsight
ting94520002 天前
InsForge Backend Branching 后端全链路 Git 式分支技术原理、架构实现与底层源码剖析
人工智能·git·elasticsearch·架构