Git基础入门
0. 5分钟快速上手示例
通过以下步骤快速体验Git核心流程:
- 创建本地仓库:
git init myproject(新建myproject目录并初始化仓库) - 添加文件:在myproject目录下新建readme.md,执行
git add readme.md - 提交修改:
git commit -m "初始化文档"(将文件提交到本地仓库) - 关联远程:
git remote add origin https://github.com/yourname/myproject.git - 推送代码:
git push -u origin main(首次推送需指定上游分支)
1. Git简介
1.1 Git的核心优势
与传统集中式版本控制系统(如SVN)相比,Git具有三大核心优势
- 分布式架构:每个开发者本地拥有完整仓库,支持离线提交
- 轻量分支:创建/切换分支秒级完成,支持并行开发
- 高效性能:本地操作减少网络依赖,版本管理速度极快
Git是由林纳斯·托瓦兹(Linus Torvalds)为了帮助管理Linux内核开发而开发的分布式版本控制系统(DVCS),诞生于2005年。与集中式版本控制系统(如SVN)不同,Git采用分布式架构,每个开发者本地都拥有完整的代码仓库,支持离线操作和高效的分支管理。
核心特点:
- 分布式:每个节点都是完整仓库
- 快速高效:本地操作减少网络依赖
- 强大的分支管理:轻量分支支持并行开发
2. 安装与配置
2.1 不同系统安装步骤
Windows系统安装验证
安装完成后,在任意文件夹右键查看是否有"Git Bash Here"选项(有则表示安装成功)
Windows系统
- 访问Git官方下载页,下载最新Windows安装包(当前版本2.49.0)
- 运行安装程序,按默认选项完成安装(推荐勾选"Use Git from Git Bash only"保持环境纯净)
- 打开Git Bash,输入命令验证安装:
git --version,应显示版本信息
macOS系统
- 通过Homebrew安装(推荐):
brew install git - 或直接下载.dmg安装包完成图形化安装
- 终端输入
git --version验证安装
Linux系统(以Ubuntu为例)
- 执行命令:
sudo apt-get update && sudo apt-get install git - 验证安装:
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)
3. 基本操作
3.0 工作中必备的12个Git命令
以下是日常开发中高频使用的Git命令,掌握后可完成基础版本控制和团队协作
- 初始化仓库:
git init - 克隆远程仓库:
git clone [url] - 添加文件到暂存区:
git add [file] - 提交修改到本地仓库:
git commit -m "说明" - 查看状态:
git status - 查看历史记录:
git log - 创建并切换分支:
git switch -c [branch] - 合并分支:
git merge [branch] - 推送代码到远程:
git push [remote] [branch] - 拉取远程更新:
git pull [remote] [branch] - 版本回退:
git reset --hard [commit-id] - 查看操作历史:
git reflog
3.1 初始化仓库
在项目根目录执行:git init(生成.git隐藏目录,存储版本控制核心数据);
新建目录并初始化:git init myproject(创建myproject目录并初始化仓库)
在项目根目录执行:git init,会生成.git隐藏目录(版本控制核心)。
3.2 跟踪文件
将文件加入暂存区:git add 文件名(单个文件)、git add .(全部文件)或git add -p(交互式选择部分修改添加)
查看状态:git status(显示文件当前状态:未跟踪/已修改/已暂存)。
3.3 提交更改
将暂存区内容提交到本地仓库:git commit -m "提交说明"(-m参数直接添加提交信息)。
最佳实践:提交说明应简洁明确(如"修复登录按钮样式""添加用户注册接口")。
3.4 查看文件差异
比较工作区与暂存区差异:git diff(工作区与暂存区差异);git diff HEAD(工作区与最新提交差异)
比较暂存区与最新提交差异:git diff --cached
示例:查看index.html的修改内容:git diff index.html
3.5 文件管理命令
删除文件并提交:git rm 文件名(自动执行add+rm操作)
重命名/移动文件:git mv 原文件名 新文件名(自动记录文件变更)
3.6 文件状态生命周期
Git文件状态遵循:未跟踪(Untracked)→ 已修改(Modified)→ 已暂存(Staged)→ 已提交(Committed)的流程。
状态转换示例:
- 新建文件:状态为"未跟踪"
- 执行
git add:转为"已暂存" - 修改文件:转为"已修改"
- 再次
git add:重新转为"已暂存" - 执行
git commit:最终转为"已提交"
3.7 切换分支(推荐新命令)
- 切换到已有分支:`git switch 分支名`; - 创建并切换新分支:`git switch -c 新分支名`(替代原`git checkout -b`)。3.8 远程仓库操作
关联远程仓库:`git remote add origin 远程仓库地址`(例如GitHub/Gitee仓库URL)
克隆远程仓库:`git clone 远程仓库地址`(直接获取完整远程仓库到本地);
推送本地提交到远程:`git push -u origin 分支名`(首次推送需指定上游分支);
拉取远程更新:`git pull origin 分支名`(同步远程最新代码到本地);若有冲突,可使用文件对比工具手动解决冲突后重新提交
3.9 分支管理进阶
合并分支:`git merge 目标分支`(将目标分支内容合并到当前分支);
删除分支:`git branch -d 分支名`(删除已合并的分支);`git branch -D 分支名`(强制删除未合并分支)。
3.10 还原修改
恢复工作区未暂存的修改:`git restore 文件名`(丢弃工作区修改);
恢复暂存区文件:`git restore --staged 文件名`(将文件从暂存区撤回到工作区)
3.11 GitHub基础操作
3.11.1 图形化工具简介
除命令行外,可使用以下图形化工具简化操作
- SourceTree:跨平台可视化工具,支持分支管理、冲突解决等
- TortoiseGit:Windows下右键菜单集成工具,适合SVN用户过渡
- VS Code内置Git:编辑器直接集成,支持代码对比、提交等操作
注册GitHub:访问GitHub官网,填写邮箱、密码完成注册;
创建仓库:登录后点击右上角`New repository`,填写仓库名、描述,选择公开/私有后创建;
获取仓库地址:创建完成后复制仓库的HTTPS或SSH地址,用于本地关联