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、合并分支

相关推荐
小霍同学1 小时前
Git 常用指令汇总
git
无限进步_2 小时前
深入解析list:一个完整的C++双向链表实现
开发语言·c++·git·链表·github·list·visual studio
Awna2 小时前
Git 合并多次提交记录实战
git
火车叼位4 小时前
一次看懂 Git 仓库分叉、冲突已解决但仍在合并中的状态
git
ruanCat5 小时前
simple-git-hooks 踩坑实录:钩子装对了却从没触发过,原来是 .git 目录捣的鬼
前端·git·代码规范
葱卤山猪7 小时前
Git常用核心命令实操总结(新手避坑版)
大数据·git·elasticsearch
深蓝轨迹7 小时前
Git误操作急救手册
chrome·git·elasticsearch
无限进步_7 小时前
【C++】字符串中的字母反转算法详解
开发语言·c++·ide·git·算法·github·visual studio
Tipriest_18 小时前
git reflog介绍(找回之前detach后做的commit)
git
一个有温度的技术博主19 小时前
Git系列四:git的基本概念
git