Git 简介
Git 是一个分布式版本控制系统,核心作用是跟踪文件变化并支持团队协作。它由 Linux 之父 Linus Torvalds 开发,凭借高效、灵活及去中心化的特性,已成为开发者首选的工具。
核心概念解析
- 分布式架构 每个开发者本地都拥有完整的代码库副本,无需依赖中央服务器即可提交和回滚。相比 SVN 等集中式系统,Git 在网络不稳定时也能正常工作,容错性更强。
- 快照机制 Git 记录的是每次提交的完整快照,而非单纯的文件差异。这意味着你可以随时恢复到任意历史状态,且通过 SHA-1 哈希值唯一标识每一次变更。
- 分支与合并 分支创建和切换成本极低,允许并行处理多个功能或实验性工作。合并(merge)时 Git 会尝试自动解决冲突,若无法自动处理则需人工介入。
- 三大区域
- 工作区:你正在编辑文件的目录。
- 暂存区:准备提交的文件集合,用于控制哪些修改进入下一次提交。
- 版本库:存储所有历史记录的本地仓库。
- 远程协作 支持将本地更改推送到 GitHub、GitLab 等平台,实现多人同步开发。
安装配置
在 Ubuntu 等 Linux 发行版中,可通过包管理器快速安装:
sudo apt update && sudo apt install git
安装完成后验证版本:
git --version
首次使用前建议配置用户信息,否则提交时会报错:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
初始化与克隆
创建远程仓库后,使用 clone 命令拉取到本地。注意目标目录应为空,一个目录下通常只对应一个 Git 仓库。
git clone <远程仓库地址>
进入项目目录后,.git 隐藏文件夹即为真正的本地仓库,而当前目录是工作区。编写代码后,需要手动将文件上传至暂存区才能纳入版本管理。
核心操作流
日常开发主要围绕三个命令展开,理解它们的工作逻辑比死记硬背更重要。
1. 暂存变更 (add)
git add <文件名> # 或 git add . 暂存当前目录所有修改
这一步是将工作区的修改放入暂存区。它的意义在于允许你精细控制提交内容,比如一次提交中包含多个文件的特定修改,而不是全部打包。
2. 本地提交 (commit)
git commit -m "描述本次修改的内容"
将暂存区的快照保存到本地版本库。-m 参数后的字符串是提交日志,建议清晰说明改动原因,方便后续追溯。
执行 git status 可实时查看文件状态,git log 则能浏览提交历史。
3. 推送远程 (push)
git push origin main


