Git常用操作指令

最近给公司小伙伴安排了一下git培训,写了个常用指令,记录一下

一、配置与初始化(首次使用/新建仓库)

|-------------------------------------------|-----------------------------|
| 指令 | 功能说明 |
| git config --global user.name "你的姓名" | 配置全局用户名(会显示在提交记录中) |
| git config --global user.email "你的公司邮箱" | 配置全局用户邮箱 |
| `git config --list | 查看配置 |
| mkdir git-demo | 创建项目文件夹(系统命令,Git初始化前准备) |
| cd git-demo | 进入项目文件夹(系统命令) |
| git init | 初始化本地Git仓库(生成隐藏的.git 文件夹) |

二、本地核心操作(文件修改/提交/历史查看)

|----------------------------------|---------------------------------------------|
| 指令 | 功能说明 |
| touch README.md | 创建文件(系统命令,用于测试Git操作) |
| echo "# Git Demo" >> README.md | 编辑文件内容(系统命令) |
| git status | 查看文件状态(红色=未暂存,绿色=已暂存) |
| git add <文件名> | 将指定文件从工作区添加到暂存区(例:git add README.md ) |
| git commit -m "提交信息" | 将暂存区文件提交到本地仓库(提交信息需规范,例:feat: 初始化README ) |
| git log | 查看详细提交历史(按q 退出) |
| git log --oneline | 查看简洁提交历史(推荐日常使用) |
| git checkout <文件名> | 恢复未提交的误删文件(从本地库恢复) |
| git commit --amend | 修改最后一次提交的信息(提交信息写错时使用) |

三、版本回滚

|--------------------------|--------------------------------------------------|
| 指令 | 功能说明 |
| git reset --hard HEAD^ | 强制回滚到上一个版本(HEAD^ 表示上一版) |
| git reset --hard <版本号> | 强制回滚到指定版本(版本号从git log /git log --oneline 获取) |
| 注意 | 强制回滚会丢弃当前未提交的修改,务必谨慎使用! |

四、分支操作(团队协作核心)

|-------------------------|-----------------------------------------------------------------------------------|
| 指令 | 功能说明 |
| git branch | 查看本地所有分支 |
| git checkout -b <分支名> | 创建并切换到新分支(例:git checkout -b feature/login ) |
| git checkout <分支名> | 切换到已有分支(例:git checkout main ) |
| git merge <分支名> | 合并指定分支到当前分支(例:git merge feature/login ) |
| git branch -d <分支名> | 合并后删除分支(例:git branch -d feature/login ) |
| 分支命名规范 | 功能开发:feature/功能名 (例:feature/payment );Bug修复:fix/bug描述 (例:fix/button-fix ) |

五、远程同步(与团队共享代码)

|-----------------------------------|---------------------------------------------|
| 指令 | 功能说明 |
| git remote add origin <远程仓库URL> | 关联本地仓库与远程仓库(例:Gitee/GitHub仓库URL) |
| git clone <远程仓库URL> | 克隆远程仓库到本地(首次获取远程代码时使用) |
| git pull | 拉取远程仓库最新代码(避免冲突,修改前优先执行) |
| git push -u origin <分支名> | 推送本地分支代码到远程仓库(例:git push -u origin main ) |
| 协作黄金口诀 | 先pull再修改,修改先add,提交写备注,分支分清楚 |

六、冲突处理(代码"撞车"时)

|--------------------------------------|-----------------------------------------------------------|
| 指令 | 功能说明 |
| 步骤1 | 手动编辑冲突文件:保留需要的逻辑,删除冲突标记(<<<<<<<=======>>>>>>> ) |
| git add <冲突文件名> | 标记冲突已解决,将文件加入暂存区 |
| git commit -m "fix: 解决合并冲突,保留核心逻辑" | 提交解决冲突后的代码 |
| git push | 推送解决冲突后的代码到远程仓库 |

六、补充模块:暂存未提交修改(git stash 系列指令)

|-----------------------------|--------------------------------------------------------------------------------|
| 指令 | 功能说明 |
| git stash | 暂存当前工作区和暂存区中未提交的修改(不包含未跟踪文件),使工作区恢复干净状态,方便切换分支或处理其他任务 |
| git stash save "备注信息" | 暂存时添加备注(推荐),便于后续区分不同暂存内容(例:git stash save "未完成的支付功能开发" ) |
| git stash list | 查看所有暂存记录(格式:stash@{n}: On 分支名: 备注信息 ,n为暂存序号,从0开始) |
| git stash apply stash@{n} | 恢复指定序号的暂存修改(n可省略,默认恢复最新的stash@{0} ),暂存记录不会删除(例:git stash apply stash@{1} ) |
| git stash pop stash@{n} | 恢复指定序号的暂存修改,同时删除该暂存记录(常用,恢复后清理无用暂存) |
| git stash drop stash@{n} | 仅删除指定序号的暂存记录(无需恢复时清理) |
| git stash clear | 清空所有暂存记录(谨慎使用,不可恢复) |
| git stash show stash@{n} | 查看指定暂存记录的修改差异(显示文件变更摘要) |

核心使用场景:
  1. 开发中需要临时切换分支(如修复紧急Bug),但当前修改未完成不想提交,用git stash暂存后切换,返回后用pop恢复继续开发;
  2. 拉取远程代码(git pull)前,本地有未提交修改可能冲突,暂存后拉取,再恢复修改合并。

提交信息规范(辅助指令使用,提升协作效率)

  • feat: 新增功能特性(例:feat: 新增登录功能
  • fix: 修复代码缺陷或Bug(例:fix: 修复按钮点击无响应
  • docs: 仅修改文档说明(例:docs: 更新API文档
  • style: 仅修改格式(不影响逻辑)(例:style: 调整代码缩进

七、IDEA操作GIT(不同版本的IDEA界面可能稍有不同)

  1. 克隆项目
  1. 拉取项目最新代码、 提交代码、推送代码

3、新建分支 切换分支

4、合并分支

相关推荐
Geek-Chow7 小时前
Git 标签与发布流程:轻量标签、附注标签与签名标签
git·tags
wear工程师8 小时前
Git 冲突怎么解决:别只删标记,先看懂暂存区的 1、2、3 阶段
git
村雨遥8 小时前
覆盖提交不等于删除,这才是彻底清除 Git 历史的正确姿势
git·github
淮北4948 小时前
ubuntu22 默认输入法调整频率
运维·服务器·git·ubuntu·elasticsearch
dunge202610 小时前
2026 ChatGPT Plus / Pro + Codex 实战:从 0 搭一套 AI 编程项目模板,AGENTS.md + Git + 测试一次配好
人工智能·git·chatgpt
福如意如我心意1 天前
git清除仓库敏感文件并同步至远端的操作
git
Brilliantwxx1 天前
【Linux】 开发|Git 版本控制与 gdb/cgdb 调试
linux·笔记·git
.Hypocritical.2 天前
Git 全套实操|配置 /.gitignore/ 分支合并 / 冲突解决 /git stash 完整教程
git
来日方长。。。。long2 天前
Hermes Agent橙皮书共读|第三篇:保姆级实战部署|本地/VPS从零搭建Hermes
ide·git·hermes
其实防守也摸鱼2 天前
VS Code Git 工作树:解锁多分支并行开发新体验
数据库·git·安全·oracle·架构·自动化