Git 常用指令笔记
整理一份自己日常开发一直在用的 Git 指令合集。放在博客里当做长期备查笔记,新手也能直接上手用。
初次使用:Git 基础配置
第一次安装 Git 后,必须先配置用户名和邮箱,这是代码提交的身份标识,全局配置一次就够了,后续所有项目都会生效。
# 设置全局用户名(改成自己的即可)git config --global user.name "你的用户名"
# 设置全局提交邮箱git config --global user.email "你的邮箱"
# 查看当前所有全局配置git config --global --list
# 如需重置,可取消对应的配置git config --global --unset user.namegit config --global --unset user.email仓库初始化 & 克隆
平时新建本地项目托管 Git,或者拉取别人/公司的远程仓库,基本就用这几个命令。
# 本地文件夹初始化为 Git 仓库git init
# 克隆完整远程仓库到本地git clone 远程仓库地址
# 克隆远程仓库,并自定义本地文件夹名称git clone 远程仓库地址 本地文件夹名文件暂存操
Git 的核心逻辑就三步:工作区修改 → 暂存区寄存 → 本地仓库永久提交。日常改完代码,第一步就是操作暂存。
# 查看当前文件状态(红色未暂存、绿色已暂存)git status
# 简洁模式查看文件变动,日常用得最多git status -s
# 暂存单个指定文件git add 文件名.后缀
# 暂存当前目录所有改动文件(最常用,无脑用这个)git add .
# 完整暂存所有新增、修改、删除的文件git add --all
# 撤销指定文件的暂存,修改保留在工作区git reset HEAD 文件名代码提交到本地仓库
文件暂存之后,就可以提交到本地仓库生成版本记录,建议每次提交都写清楚改动内容,方便后续追溯。
# 标准提交,引号内写清楚本次改动功能git commit -m "修复登录接口异常、优化页面样式"
# 跳过暂存,直接提交所有修改(新增文件不生效)git commit -am "批量修改代码格式"
# 修正上一次提交的备注,不会生成新的版本记录git commit --amend查看提交日志记录
需要追溯代码是谁改的、改了什么、是什么时候提交的,用这些日志命令就足够了。
# 查看完整详细提交日志git log
# 极简单行日志,日常排查首选git log --oneline
# 查看最近 3 次提交记录(数字可自定义)git log -3
# 图形化展示分支提交、合并轨迹,看得更直观git log --graph --oneline分支管理
正常团队开发绝对不要直接在主分支改代码,所有新功能、bug 修复,都要新建分支单独开发,这里整理了所有高频分支操作。
# 查看本地所有分支git branch
# 查看本地+远程全部分支git branch -a
# 仅新建分支,不切换git branch 分支名
# 新建分支并直接切换过去(最常用)git checkout -b feature/xxx
# 切换到已存在的指定分支git checkout 分支名
# 重命名本地分支git branch -m 旧分支名 新分支名
# 正常删除已合并的本地分支git branch -d 分支名
# 强制删除未合并的本地分支(谨慎使用)git branch -D 分支名
# 删除远程多余分支git push origin --delete 远程分支名分支合并 & 冲突解决
分支开发完成后,就需要合并到主分支。冲突是团队开发常态,不用慌,按步骤处理即可。
# 1. 先切换到需要被合并的主分支git checkout main
# 2. 将功能分支的代码合并到当前主分支git merge 待合并分支名
# 3. 出现冲突后的处理步骤# ① 打开冲突文件,手动保留需要的代码,删除冲突标记# ② 处理完成后重新暂存、提交git add .git commit -m "解决代码合并冲突,合并xx功能分支"版本撤销 & 回退
写错代码、误提交、提错内容都很常见,这部分是我日常用得最多的「救命指令」,分场景整理好了,按需使用。
# 场景1:改了代码还没add,想撤销所有工作区修改git checkout .
# 场景2:已经add暂存,没commit,撤销暂存(代码保留)git reset HEAD .
# 场景3:已经commit,回退上一版本(保留代码改动,可重新修改提交)git reset --soft HEAD^
# 场景4:已经commit,彻底回退上一版本(改动全部清空,谨慎使用)git reset --hard HEAD^
# 场景5:精准回退到指定历史版本(log查询版本号,取前6位即可)git reset --hard 版本号
# 场景6:安全撤销远程版本(生成新提交覆盖,不修改历史记录,团队协作首选)git revert 版本号远程仓库关联 & 同步
本地代码和 GitHub / Gitee / GitLab 远程仓库的关联、拉取、推送,日常同步代码全靠这些命令。
# 查看当前关联的远程仓库地址git remote -v
# 本地项目关联远程仓库git remote add origin 远程仓库地址
# 解绑当前远程仓库git remote remove origin
# 修改已关联的远程仓库地址git remote set-url origin 新仓库地址
# 拉取远程最新代码并自动合并(日常更新代码首选)git pull
# 仅拉取远程代码,不自动合并,手动处理冲突git fetch
# 推送本地分支代码到对应远程分支git push origin 本地分支名
# 首次推送新分支到远程,建立关联关系git push -u origin 分支名
# 强制推送(极度慎用!会覆盖远程代码,仅个人仓库使用)git push --force代码临时暂存
开发到一半的功能还没写完,不想提交垃圾代码,但需要切分支改 bug,这时候用 stash 临时保存工作区改动最合适。
# 快速暂存所有当前改动(无备注)git stash
# 带备注暂存,方便后续区分记录(推荐)git stash save "临时保存:正在开发首页列表功能"
# 查看所有暂存记录git stash list
# 恢复最新的暂存内容,保留暂存记录git stash apply
# 恢复指定编号的暂存记录git stash apply stash@{0}
# 恢复最新暂存并清空该条记录git stash pop
# 清空所有暂存记录git stash clearTag 标签版本管理
项目迭代发布正式版本时,用 Tag 标记版本号,方便版本回溯、上线记录和版本管理。
# 查看所有本地标签git tag
# 创建简单版本标签git tag v1.0.0
# 创建带版本说明的标签git tag -a v1.0.0 -m "v1.0.0 正式版本上线"
# 推送单个标签到远程git push origin v1.0.0
# 一次性推送所有本地标签git push origin --tags
# 删除本地标签git tag -d v1.0.0
# 删除远程标签git push origin --delete tag v1.0.0常用小技巧
几个提升效率的小命令,日常开发高频复用,非常实用。
# 查看具体代码修改差异git diff
# 清空工作区所有未追踪文件、废弃改动,还原干净环境git clean -fd
# 交互式变基,合并最近n次提交记录(精简提交记录)git rebase -i HEAD~n
# 快速切换回上一个分支(超级好用的快捷键)git checkout -日常开发流程
分享一套我自己一直在用的规范开发流程:
- 更新代码:开发前先
git pull拉取远程最新代码,保证本地代码同步 - 新建分支:基于主分支新建功能分支
git checkout -b feature/xxx - 开发提交:功能开发完成后,
git add .暂存,git commit -m "功能描述"规范提交 - 推送分支:推送本地新分支到远程
git push -u origin 分支名 - 审核合并 :提交 PR/MR,代码审核通过后合并到主分支
- 收尾清理:合并完成后,清理本地、远程废弃功能分支,保持仓库整洁
总结
这份笔记是我开发中一点点积累整理的,剔除了几乎所有用不上的冷门指令,只保留日常场景会用到的核心操作。
不管是新手入门,还是日常工作快速查指令,都足够用了。后续遇到实用的 Git 技巧,也会持续更新这份笔记。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
评论区
加载评论中...