最近给公司小伙伴安排了一下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} | 查看指定暂存记录的修改差异(显示文件变更摘要) |
核心使用场景:
- 开发中需要临时切换分支(如修复紧急Bug),但当前修改未完成不想提交,用
git stash暂存后切换,返回后用pop恢复继续开发; - 拉取远程代码(
git pull)前,本地有未提交修改可能冲突,暂存后拉取,再恢复修改合并。
提交信息规范(辅助指令使用,提升协作效率)
feat: 新增功能特性(例:feat: 新增登录功能)fix: 修复代码缺陷或Bug(例:fix: 修复按钮点击无响应)docs: 仅修改文档说明(例:docs: 更新API文档)style: 仅修改格式(不影响逻辑)(例:style: 调整代码缩进)
七、IDEA操作GIT(不同版本的IDEA界面可能稍有不同)
- 克隆项目


- 拉取项目最新代码、 提交代码、推送代码

3、新建分支 切换分支

4、合并分支
