🧰 Git 日常开发实战命令大全
本文整理了 Git 在日常开发中高频使用的命令集合,覆盖从基础操作到进阶技巧的完整流程,方便留存查阅👀 ,最后附上所有指令。其中内容包括:
✅ 本地仓库管理:添加文件、提交更改、查看日志
🌿 分支管理:创建、切换、合并、删除本地及远程分支
🔁 远程仓库交互:拉取、推送、强推、更新远程信息
🔄 版本回退与恢复:reset、checkout、reflog 等操作
📦 代码暂存(Stash):临时保存未提交的改动
🏷️ 标签管理(Tag):轻量 tag 与注解 tag 的创建与推送
💡 实用技巧:别名设置、忽略文件规则、清理已合并分支等
📌 一、查看状态功能 命令 查看当前仓库状态(修改/新增文件) git status
✅ 二、添加文件到暂存区功能 命令 添加指定文件到暂存区 git add filename添加指定目录下所有内容到暂存区 git add path/添加当前目录下所有改动到暂存区 git add .添加所有改动(包括删除文件) git add --all
🔁 三、移除暂存区文件功能 命令 将文件从暂存区移出(保留工作区) git rm --cached filename
📤 四、提交更改功能 命令 提交暂存区内容到本地仓库(带简短备注) git commit -m 'commit message'
💬 提交类型规范(Conventional Commits)类型 说明 build修改构建系统(如依赖库、Node 版本) chore非业务性代码调整(如配置、脚本等) ci持续集成相关(如 Jenkins、Travis) docs文档修改(如 README、API 文档) feat新增功能 fix修复 bug perf性能优化 refactor重构代码(不改变功能逻辑) style样式调整(缩进、空格、分号) test测试相关修改
📋 五、查看提交日志
🔄 六、版本回退与恢复功能 命令 回退到指定提交(丢弃之后所有更改) git reset --hard hash(前六位即可)强推本地版本到远程仓库 git push -f origin 分支名恢复某个文件到上一次提交的状态 git checkout filename
🌿 七、分支管理功能 命令 查看本地分支 git branch创建新分支 git branch 分支名创建并切换分支 git checkout -b 分支名切换已有分支 git checkout 分支名返回上一个分支 git checkout -删除本地已合并分支 git branch -d [branchName]强制删除本地分支 git branch -D [branchName]删除远程分支 git push origin --delete [branchname]创建并重命名当前分支 git branch -M XXX
📥 八、远程仓库同步功能 命令 更新远程分支信息 git remote update origin --prune获取远程分支最新数据 git fetch origin推送本地分支到远程 git push origin 分支名设置默认追踪分支并推送 git push -u origin 分支名拉取远程分支更新(fetch + merge) git pull origin 分支名拉取远程分支更新并变基 git pull --rebase origin 分支名(推荐)
🔗 九、远程仓库操作功能 命令 添加远程仓库地址 git remote add origin url修改远程仓库地址 git remote set-url origin 新地址删除远程仓库配置 git remote rm origin克隆远程仓库 git clone https://github.com/jxsrzj0325/mi.com.git
🔀 十、合并与冲突处理功能 命令 合并指定远程分支到当前分支 git merge 远程分支名放弃 cherry-pick 操作 git cherry-pick --abort继续 cherry-pick 操作 git cherry-pick --continue退出 cherry-pick(保留已应用的 commit) git cherry-pick --quit
📦 十一、代码暂存(Stash)功能 命令 暂存未提交的修改 git stash暂存并添加备注 git stash save "备注内容"查看 stash 列表 git stash list应用最近一次 stash git stash apply应用并删除最近一次 stash git stash pop删除最近一次 stash git stash drop清空所有 stash 记录 git stash clear
🏷️ 十二、标签管理(Tag)功能 命令 查看所有 tag git tag -l创建轻量 tag git tag v1.0.0创建带注解的 tag git tag -a v1.0.0 -m "版本描述"提交单个 tag 到远程 git push origin v1.0.0提交所有 tag 到远程 git push origin --tags
🧹 十三、其他实用技巧功能 命令 设置 Git 别名(示例:图形化日志) git config --global alias.lg "log --oneline --graph --all"删除所有已合并分支(除 main/master) `git branch --merged 强推覆盖远程分支(慎用) git push origin 分支名 --force
所有命令
# 查看状态
$ git status # 添加管理 ( 将文件或目录添加到本地仓库的暂存区)
$ git add filename # 将指定的文件添加到暂存区
$ git add path/ # 将指定的目录添加到暂存区
$ git add . # 将当前目录所有内容 ( 文件和文件夹) 添加到暂存区
$ git add -- all # 将当前目录所有内容 ( 文件和文件夹) 添加到暂存区# 将文件移出暂存区
$ git rm -- cached filename # 注意:filenamed 是笔误,应为 filename# 将暂存区的内容提交到本地仓库 (yarn lint: fix 处理 ESLint 格式)
$ git commit - m ''
# 提交类型说明:
# build: 修改项目构建系统,例如修改依赖库、外部接口或者升级 Node 版本等;
# chore: 用于对非业务性代码进行修改,例如修改构建流程或者工具配置等;
# ci: 修改持续集成流程,例如修改 Travis、Jenkins 等工作流配置;
# docs: 修改文档,例如修改 README 文件、API 文档等;
# style: 修改代码样式,例如调整缩进、空格、空行等;
# refactor: 重构代码,例如修改代码结构、变量名、函数名等但不改变功能逻辑;
# perf: 性能优化,例如提升性能、减少内存占用等;
# test: 修改测试用例,例如添加、删除、修改测试用例等; # 查看提交日志
$ git log# 恢复历史版本
$ git reset -- hard hash # 回退到指定提交(前六位即可)
$ git push - f origin 分支名 # 强推本地版本到远程仓库# 恢复文件
$ git checkout filename # 恢复某个文件到上一次提交的状态# 查看分支
$ git branch# 更新远程分支
$ git fetch origin
# 或者
$ git remote update origin -- prune # 推荐,会清理无效引用# 创建分支
$ git branch 分支名# 推送/ 拉取到远程分支(git pull 是两个指令的组合:git fetch 和 git merge)
$ git push origin 分支名
$ git pull origin 分支名# 切换分支
$ git checkout 分支名# 返回上游分支
$ git checkout - # 返回上一个分支# 合并远程分支
$ git merge 远程分支名# 代码冲突后,放弃或者退出 cherry- pick 流程:# 放弃, 回到操作前的样子,就像什么都没发生过
$ git cherry- pick -- abort# 退出, 不回到操作前的样子, 即保留已经 cherry- pick 成功的 commit,并退出 cherry- pick 流程:
$ git cherry- pick -- quit# 删除本地已合并的分支:
$ git branch - D [ branchName] # 删除远程分支:
$ git push origin -- delete [ branchname] # 添加远程仓库地址 并取名 origin
$ git remote add origin url # 一般新建仓库就有,直接复制 HTTPS 或 SSH 地址# 创建并切换到 XXX 分支
$ git checkout - b XXX # 更推荐的方式
# 或者
$ git branch - M XXX # 如果当前已有内容,重命名为 XXX 分支# 将本地仓库推送到远程仓库
$ git push - u origin 分支名 # 设置默认追踪远程分支,后续可以直接 git push# 如果返回:fatal: 远程 origin 已经存在。此时只需要将远程配置删除,重新添加即可;
$ git remote rm origin
$ git remote add origin url# 克隆远程仓库 ( 从无到有)
$ git clone https: / / github. com/ jxsrzj0325/ mi. com. git# 从远程仓库拉取分支 ( 更新)
$ git pull origin master# 保存当前未 commit 的代码
$ git stash# 保存当前未 commit 的代码并添加备注
$ git stash save "备注的内容" # 列出 stash 的所有记录
$ git stash list# 删除 stash 的所有记录
$ git stash clear# 应用最近一次的 stash
$ git stash apply# 应用最近一次的 stash,随后删除该记录
$ git stash pop# 删除最近的一次 stash
$ git stash drop# 查看所有 tag
$ git tag - l # 打 tag
$ git tag v1. 0.0 # 提交 tag
$ git push origin v1. 0.0 # 推送所有 tag 到远程仓库
$ git push origin -- tags# 查看远程仓库信息
$ git remote - v# 设置用户名和邮箱(如果未设置)
$ git config -- global user. name "YourName"
$ git config -- global user. email "your@email.com" # 设置默认编辑器(可选)
$ git config -- global core. editor "code --wait" # VS Code 示例# 配置别名(简化常用命令)
$ git config -- global alias. br "branch"
$ git config -- global alias. co "checkout"
$ git config -- global alias. ci "commit"
$ git config -- global alias. st "status"
$ git config -- global alias. hist "log --oneline --graph --all" # 取消某个 commit(软撤销)
$ git reset -- soft HEAD ~ 1 # 取消某个 commit(硬撤销,连带改动一并删除)
$ git reset -- hard HEAD ~ 1 # 修改最后一次提交的信息
$ git commit -- amend - m "新的提交信息" # 查看某次提交的详细内容
$ git show 提交hash# 查看工作区与暂存区差异
$ git diff# 查看暂存区与上次提交差异
$ git diff -- cached# 查看远程分支列表
$ git branch - r# 跟踪远程分支并创建本地分支
$ git checkout - b 本地分支名 origin/ 远程分支名# 变基方式拉取更新(避免产生 merge commit)
$ git pull -- rebase origin 分支名# 忽略某些文件(在 . gitignore 中添加规则)
# 示例:
# * . log
# / node_modules /
# . DS_Store