Git基础入门

0. 5分钟快速上手示例

通过以下步骤快速体验Git核心流程:

  1. 创建本地仓库:git init myproject(新建myproject目录并初始化仓库)
  2. 添加文件:在myproject目录下新建readme.md,执行git add readme.md
  3. 提交修改:git commit -m "初始化文档"(将文件提交到本地仓库)
  4. 关联远程:git remote add origin https://github.com/yourname/myproject.git
  5. 推送代码:git push -u origin main(首次推送需指定上游分支)

1. Git简介

1.1 Git的核心优势

与传统集中式版本控制系统(如SVN)相比,Git具有三大核心优势1

  • 分布式架构:每个开发者本地拥有完整仓库,支持离线提交
  • 轻量分支:创建/切换分支秒级完成,支持并行开发
  • 高效性能:本地操作减少网络依赖,版本管理速度极快

Git是由林纳斯·托瓦兹(Linus Torvalds)为了帮助管理Linux内核开发而开发的分布式版本控制系统(DVCS),诞生于2005年。与集中式版本控制系统(如SVN)不同,Git采用分布式架构,每个开发者本地都拥有完整的代码仓库,支持离线操作和高效的分支管理。

核心特点:

  • 分布式:每个节点都是完整仓库
  • 快速高效:本地操作减少网络依赖
  • 强大的分支管理:轻量分支支持并行开发

2. 安装与配置

2.1 不同系统安装步骤

Windows系统安装验证

安装完成后,在任意文件夹右键查看是否有"Git Bash Here"选项(有则表示安装成功)1

Windows系统

  1. 访问Git官方下载页,下载最新Windows安装包(当前版本2.49.0)
  2. 运行安装程序,按默认选项完成安装(推荐勾选"Use Git from Git Bash only"保持环境纯净)
  3. 打开Git Bash,输入命令验证安装:git --version,应显示版本信息

macOS系统

  1. 通过Homebrew安装(推荐):brew install git
  2. 或直接下载.dmg安装包完成图形化安装
  3. 终端输入git --version验证安装

Linux系统(以Ubuntu为例)

  1. 执行命令:sudo apt-get update && sudo apt-get install git
  2. 验证安装:git --version

2.2 基础配置

首次使用前需设置用户名和邮箱(与GitHub等平台关联):

git config --global user.name "你的姓名"
git config --global user.email "你的邮箱@example.com"

查看配置:git config --global --list(全局配置);git config --local --list(项目配置),配置文件位于用户主目录(~/.gitconfig)或项目目录(.git/config)4

3. 基本操作

3.0 工作中必备的12个Git命令

以下是日常开发中高频使用的Git命令,掌握后可完成基础版本控制和团队协作3

  1. 初始化仓库:git init
  2. 克隆远程仓库:git clone [url]
  3. 添加文件到暂存区:git add [file]
  4. 提交修改到本地仓库:git commit -m "说明"
  5. 查看状态:git status
  6. 查看历史记录:git log
  7. 创建并切换分支:git switch -c [branch]
  8. 合并分支:git merge [branch]
  9. 推送代码到远程:git push [remote] [branch]
  10. 拉取远程更新:git pull [remote] [branch]
  11. 版本回退:git reset --hard [commit-id]
  12. 查看操作历史:git reflog

3.1 初始化仓库

在项目根目录执行:git init(生成.git隐藏目录,存储版本控制核心数据);

新建目录并初始化:git init myproject(创建myproject目录并初始化仓库)4

在项目根目录执行:git init,会生成.git隐藏目录(版本控制核心)。

3.2 跟踪文件

将文件加入暂存区:git add 文件名(单个文件)、git add .(全部文件)或git add -p(交互式选择部分修改添加)4

查看状态:git status(显示文件当前状态:未跟踪/已修改/已暂存)。

3.3 提交更改

将暂存区内容提交到本地仓库:git commit -m "提交说明"(-m参数直接添加提交信息)。

最佳实践:提交说明应简洁明确(如"修复登录按钮样式""添加用户注册接口")。

3.4 查看文件差异

比较工作区与暂存区差异:git diff(工作区与暂存区差异);git diff HEAD(工作区与最新提交差异)3

比较暂存区与最新提交差异:git diff --cached

示例:查看index.html的修改内容:git diff index.html

3.5 文件管理命令

删除文件并提交:git rm 文件名(自动执行add+rm操作)

重命名/移动文件:git mv 原文件名 新文件名(自动记录文件变更)

3.6 文件状态生命周期

Git文件状态遵循:未跟踪(Untracked)→ 已修改(Modified)→ 已暂存(Staged)→ 已提交(Committed)的流程。

状态转换示例:

  1. 新建文件:状态为"未跟踪"
  2. 执行git add:转为"已暂存"
  3. 修改文件:转为"已修改"
  4. 再次git add:重新转为"已暂存"
  5. 执行git commit:最终转为"已提交"

3.7 切换分支(推荐新命令)

- 切换到已有分支:`git switch 分支名`; - 创建并切换新分支:`git switch -c 新分支名`(替代原`git checkout -b`)。

3.8 远程仓库操作

关联远程仓库:`git remote add origin 远程仓库地址`(例如GitHub/Gitee仓库URL)1

克隆远程仓库:`git clone 远程仓库地址`(直接获取完整远程仓库到本地);

推送本地提交到远程:`git push -u origin 分支名`(首次推送需指定上游分支);

拉取远程更新:`git pull origin 分支名`(同步远程最新代码到本地);若有冲突,可使用文件对比工具手动解决冲突后重新提交3

3.9 分支管理进阶

合并分支:`git merge 目标分支`(将目标分支内容合并到当前分支);

删除分支:`git branch -d 分支名`(删除已合并的分支);`git branch -D 分支名`(强制删除未合并分支)。

3.10 还原修改

恢复工作区未暂存的修改:`git restore 文件名`(丢弃工作区修改);

恢复暂存区文件:`git restore --staged 文件名`(将文件从暂存区撤回到工作区)4

3.11 GitHub基础操作

3.11.1 图形化工具简介

除命令行外,可使用以下图形化工具简化操作3

注册GitHub:访问GitHub官网,填写邮箱、密码完成注册;

创建仓库:登录后点击右上角`New repository`,填写仓库名、描述,选择公开/私有后创建;

获取仓库地址:创建完成后复制仓库的HTTPS或SSH地址,用于本地关联3