当前位置: 首页 > news >正文

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时暂存当前工作


九、常见问题解决方案

冲突解决流程

  1. 执行 git pull 时出现冲突提示
  2. 打开冲突文件(标记为 <<<<<<< ======= >>>>>>>
  3. 手动选择保留的代码
  4. 执行 git add <文件名> 标记解决
  5. 最后执行 git commit 完成合并

十、开发工作流示例

克隆项目
创建功能分支
开发功能
提交代码
推送分支
创建Pull Request
代码审查
合并到主分支

标准流程说明

  1. git clone 获取项目
  2. git checkout -b feature/xxx 创建分支
  3. 开发过程中频繁执行 git add + git commit
  4. 完成后 git push 推送分支
  5. 在Git平台(GitHub/GitLab)创建PR/MR
  6. 通过审查后合并到主分支

这份笔记涵盖了从初始化配置到高级操作的完整Git使用流程,建议配合实际项目练习:

  1. 先在本地练习基础命令
  2. 创建测试仓库模拟团队协作
  3. 参与开源项目加深理解
http://www.dtcms.com/a/596480.html

相关文章:

  • React底层原理
  • tensorflow 图像分类 之四
  • GEO优化:针对生成式AI内容分发逻辑的四大维度优化策略
  • 做a手机视频在线观看网站网页程序开发采购
  • USP-Ulysses+Ring-Attention技术原理
  • mirage 接口mock 拦截
  • flash网站设计教程北京建设网上银行
  • 高端网站建设设计公司有哪些wordpress网站迁移后插件
  • redis进阶 - 底层数据结构
  • 【自然语言处理】语料库:自然语言处理的基石资源与发展全景
  • Rust: 量化策略回测与简易线程池构建、子线程执行观测
  • 基于systemd的系统负载控制与检测方案
  • 闲谈-三十而已
  • LangChain 是一个 **大语言模型(LLM)应用开发框架**
  • 从RAM/ROM到Redis:项目架构设计的存储智慧
  • 高中课程免费教学网站网页塔防游戏排行榜
  • Access导出带图表的 HTML 报表:技术实现详解
  • 郑州上海做网站的公司嘉兴网站建设有前途吗
  • 学习JavaScript进阶记录(二)
  • 优化用户体验的小点:乐观更新链路 双数据库查询
  • C++—list:list的使用及模拟实现
  • EasyExcel 与 Apache POI 版本冲突导致的 `NoSuchMethodError` 异常
  • WebServer04
  • 品牌网站建设技术网站搜索引擎优化诊断
  • 优秀企业网站设计WordPress评论楼层
  • 卡索(CASO)汽车调查:新能源时代如何精准度量用户体验?
  • 手动模拟Spring(简易版)
  • 蓝牙钥匙 第88次 蓝牙钥匙未来发展趋势篇:用户体验未来趋势深度解析
  • jmeter集群压测配置方法和注意事项
  • [笔记]SolidWorks转URDF 在rviz2中显示