Git 命令全攻略:从入门到实战
Git 命令全攻略(新手从零到实战)
一、Git 初始化与配置
1. 设置用户身份(全局配置)
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
说明:
- 所有提交记录都会带上这个签名,是团队协作中追溯责任的关键信息
--global表示全局生效,若不加该参数则是当前仓库的局部配置
实战场景:
新入职开发人员首次配置Git时使用,确保代码提交后能正确显示作者信息
二、版本控制基础操作
2. 初始化仓库
git init
说明:
- 在当前目录创建
.git隐藏文件夹(版本库) - 类似于为项目安装"时光机"功能
实战场景:
新建项目时使用,例如创建 my-react-app 项目时执行该命令
3. 克隆远程仓库
git clone git@github.com:username/repo-name.git
说明:
- 一次性完成远程仓库下载+本地初始化
- 推荐使用SSH方式(需提前配置SSH密钥)
实战场景:
加入已有项目时使用,例如克隆公司代码库 git clone git@gitlab.com:company/project.git
三、工作区与暂存区操作
4. 查看文件状态
git status
说明:
- 显示修改文件状态(未跟踪/已修改/已暂存)
- 颜色标识:红色=未暂存,绿色=已暂存
实战场景:
每次提交前必看,确认要提交的文件是否正确
5. 添加文件到暂存区
# 添加单个文件
git add README.md# 添加所有文件
git add .# 添加特定类型文件
git add *.js
说明:
- 暂存区是提交前的"预览区"
- 类似于拍照前的取景框,可多次添加/删除调整
实战场景:
完成页面开发后,使用 git add . 添加所有修改
6. 查看修改内容
# 查看工作区修改
git diff# 查看暂存区修改
git diff --cached
说明:
- 显示具体代码差异(新增/删除/修改)
- 是调试修改内容的"显微镜"
实战场景:
提交前确认具体修改内容,避免误提交
四、提交历史管理
7. 提交更改
git commit -m "feat: add user login page"
说明:
-m后接提交信息,推荐使用 Conventional Commits 规范- 提交信息格式:
<类型>: <描述>(如 fix: 修复支付失败问题)
实战场景:
完成功能开发后提交代码,例如 git commit -m "fix: resolve null pointer exception"
8. 查看提交历史
git log --oneline --graph
说明:
--oneline精简显示--graph用图形展示分支合并关系
实战场景:
排查问题时查看历史记录,例如定位导致接口报错的提交
五、分支管理
9. 创建并切换分支
git checkout -b feature/login
说明:
- 功能开发应在独立分支进行
- 推荐分支命名规范:
feature/功能名/hotfix/问题描述
实战场景:
开发新功能时创建分支 git checkout -b feature/cart-optimization
10. 查看分支列表
git branch -a
说明:
- 显示本地和远程所有分支
- 当前所在分支前会标
*
实战场景:
确认当前所在分支是否正确,避免在主分支直接开发
11. 合并分支
# 切换到主分支
git checkout main# 合并功能分支
git merge feature/login
说明:
- 推荐先
git pull获取最新代码 - 出现冲突时需要手动解决(标记为
<<<<<<<的部分)
实战场景:
功能开发完成后合并到开发分支
六、远程协作
12. 查看远程仓库
git remote -v
说明:
- 显示远程仓库地址(fetch/push)
- 默认远程仓库名为
origin
实战场景:
确认代码推送地址是否正确
13. 推送分支
git push origin feature/login
说明:
- 第一次推送需要指定远程分支
- 后续可直接使用
git push
实战场景:
将本地分支推送到远程以便他人协作
14. 拉取更新
# 普通拉取(合并)
git pull origin dev# 高级拉取(变基)
git pull --rebase origin dev
说明:
pull = fetch + merge- 推荐使用
--rebase保持提交历史线性
实战场景:
开始开发前拉取最新代码,避免冲突
七、撤销操作
15. 撤销工作区修改
git checkout -- README.md
说明:
- 丢弃工作区修改(慎用!)
- 仅针对未提交的修改
实战场景:
修改文件后觉得不需要,直接还原
16. 取消暂存
git reset HEAD README.md
说明:
- 将文件从暂存区移回工作区
- 保留文件修改内容
实战场景:
误操作添加文件到暂存区时使用
17. 回退提交
# 回退到某个提交(保留修改)
git reset --mixed <commit-hash># 强制覆盖远程历史(慎用!)
git push -f origin main
说明:
--mixed是默认参数(保留工作区)--hard会丢失未提交的修改
实战场景:
发现错误提交后回退,如误提交测试数据
八、高级技巧
18. 标签管理
# 创建版本标签
git tag v1.0.0# 推送标签到远程
git push origin v1.0.0
说明:
- 用于标记重要版本(如生产发布版)
- 推荐语义化版本号(SemVer)
实战场景:
发布稳定版本时打标签 v2.1.0
19. 暂存修改
# 暂存当前修改
git stash# 应用暂存
git stash apply
说明:
- 临时保存未提交的修改
- 支持多个stash记录
实战场景:
处理紧急bug时暂存当前工作
九、常见问题解决方案
冲突解决流程
- 执行
git pull时出现冲突提示 - 打开冲突文件(标记为
<<<<<<<=======>>>>>>>) - 手动选择保留的代码
- 执行
git add <文件名>标记解决 - 最后执行
git commit完成合并
十、开发工作流示例
标准流程说明:
git clone获取项目git checkout -b feature/xxx创建分支- 开发过程中频繁执行
git add+git commit - 完成后
git push推送分支 - 在Git平台(GitHub/GitLab)创建PR/MR
- 通过审查后合并到主分支
这份笔记涵盖了从初始化配置到高级操作的完整Git使用流程,建议配合实际项目练习:
- 先在本地练习基础命令
- 创建测试仓库模拟团队协作
- 参与开源项目加深理解
