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

相关推荐
顾默@3 小时前
关于git推送到远程仓库的一些操作
git
___波子 Pro Max.6 小时前
Git 2.23新增命令switch使用指南
git
℘团子এ13 小时前
git中,项目怎么更换远程仓库连接地址
git
言之。19 小时前
Git Hooks
git
代码AI弗森19 小时前
Git Bash 与 PowerShell:定位差异、使用场景与选择建议
开发语言·git·bash
森叶21 小时前
Git flow command error: ‘flow‘ is not a git command 问题解决
git
天麓1 天前
git merge 举例
git
AI_56781 天前
Git冲突治理白皮书:智能标记与可视化协同的下一代解决方案
大数据·人工智能·git·机器学习
念丶小宇1 天前
Git常用指令
大数据·git·elasticsearch