🧰 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