Git 日常开发常用命令全攻略:从入门到实战
一份覆盖日常开发 90% 场景的 Git 命令速查手册前言对于每一位开发者来说Git 是必备的生存技能。无论是个人项目的版本管理还是团队多人协同开发Git 都是行业统一的标准工具。很多新手只会简单的add、commit、push遇到代码冲突、版本回退、分支合并等问题时就束手无策。本文将从实战角度出发系统梳理日常开发中最常用的 Git 命令按场景分类附带实际示例帮你快速上手并随时查阅。一、Git 核心概念速览在开始敲命令之前先理解 Git 的四大工作区域区域说明工作区本地文件夹我们写代码的地方暂存区临时存放修改等待提交也叫 Index本地仓库本地永久保存所有版本记录远程仓库GitHub / Gitee / GitLab 上的云端仓库代码流转顺序工作区 → 暂存区 → 本地仓库 → 远程仓库二、初次使用安装与配置2.1 安装 Git官网下载对应系统版本默认安装即可https://git-scm.com/安装完成后验证git --version2.2 配置用户信息必须配置Git 需要知道你是谁每次提交都会记录这些信息# 全局配置所有项目生效 git config --global user.name 你的名字 git config --global user.email 你的邮箱 # 查看所有配置 git config --list建议邮箱与 GitHub/GitLab 账号一致以便提交记录正确关联。2.3 配置 SSH 密钥免密推送ssh-keygen -t ed25519 -C 你的邮箱一路回车然后在~/.ssh/目录找到id_ed25519.pub复制公钥内容配置到远程仓库。三、仓库操作初始化与克隆3.1 初始化新仓库# 在当前目录初始化 Git 仓库 git init执行后会在当前目录创建.git文件夹Git 开始跟踪该目录下的文件。3.2 克隆远程仓库# 克隆远程仓库到本地 git clone 仓库地址 # 浅克隆仅拉取最近一次提交加快速度 git clone 仓库地址 --depth1[reference:11]四、日常开发核心四步曲这是每天使用频率最高的四个命令4.1 查看状态 —git status# 查看工作区和暂存区状态 git status # 简洁模式 git status -s[reference:13]红色 未暂存绿色 已暂存。这是提交前必看的命令。4.2 添加文件到暂存区 —git add# 添加指定文件 git add 文件名 # 添加所有变更新文件 修改 git add . # 只添加已被跟踪的文件的修改/删除不包括新文件 git add -u # 添加所有变更等同于 git add . git add -u git add -A[reference:16]4.3 提交到本地仓库 —git commit# 提交并添加说明 git commit -m 本次修改的说明 # 修改上一次提交漏文件或写错消息时使用 git commit --amend[reference:17]提交信息规范建议使用动词开头如fix、add、update、refactor简洁明确。4.4 推送到远程仓库 —git push# 推送到远程仓库的指定分支 git push origin main # 第一次推送时设置上游分支之后可直接用 git push git push -u origin feature/login[reference:19] # 强制推送慎用建议使用 --force-with-lease 更安全 git push --force-with-lease[reference:20]五、查看历史与差异5.1 查看提交历史 —git log# 查看完整提交历史 git log # 简洁模式每条一行 git log --oneline # 图形化展示分支合并历史 git log --graph[reference:21] # 查看某人的提交记录 git log --author用户名 # 查看某个文件的详细修改内容 git log -p 文件5.2 查看差异 —git diff# 查看工作区未暂存的更改 git diff # 查看暂存区的更改 git diff --staged[reference:22]六、分支管理分支是 Git 最强大的功能之一可以让开发工作互不影响。6.1 查看与创建分支# 列出所有本地分支* 表示当前分支 git branch # 创建新分支 git branch 分支名 # 创建并切换到新分支推荐 git checkout -b 分支名 # 或使用新命令Git 2.23 git switch -c 分支名[reference:24]6.2 切换分支# 老命令 git checkout 分支名 # 新命令推荐语义更清晰 git switch 分支名[reference:25]6.3 合并分支# 将指定分支合并到当前分支 git merge 分支名[reference:26]合并前先确保当前分支是目标分支如main再执行合并。6.4 删除分支# 删除已合并的分支 git branch -d 分支名 # 强制删除分支未合并也能删 git branch -D 分支名[reference:28] # 删除远程分支 git push origin --delete 分支名[reference:29]七、远程仓库操作7.1 查看与添加远程仓库# 查看远程仓库地址 git remote -v # 添加远程仓库 git remote add origin 仓库地址 # 删除远程仓库连接 git remote remove origin[reference:30]7.2 拉取更新# 拉取远程更新并自动合并等价于 git fetch git merge git pull origin main # 获取远程更新但不合并先查看差异再决定 git fetch[reference:31] # 推荐保持线性历史的拉取方式 git pull --rebase[reference:32]⚠️注意git pull可能触发自动合并若存在冲突需手动解决。八、撤销与回退“后悔药”功能8.1 撤销工作区修改# 撤销对工作区文件的修改未 add 之前 git checkout -- 文件 # 或使用新命令 git restore 文件[reference:34]8.2 撤销暂存区# 将文件从暂存区移回工作区 git reset HEAD 文件 # 或使用新命令 git restore --staged 文件[reference:35]8.3 版本回退# 回退到某提交保留所有改动工作区 暂存区 git reset --soft commit-id # 回退并清除暂存区但保留工作区改动 git reset --mixed commit-id # 回退并清除所有改动危险慎用 git reset --hard commit-id[reference:36] # 安全回退生成一个新提交来撤销某次提交不破坏历史 git revert commit-id[reference:37]⚠️团队协作中优先使用git revert避免使用git reset --hard因为后者会改写历史。九、临时保存Stash神技当需要临时切换分支但当前修改还没完成时# 暂存当前所有未提交的修改 git stash # 查看所有暂存记录 git stash list # 恢复最近一次 stash不删除记录 git stash apply # 恢复并删除最近一次 stash git stash pop # 删除最近一次 stash git stash drop[reference:39]十、标签管理用于标记重要的版本如 v1.0、v2.0# 查看所有标签 git tag # 创建标签 git tag 标签名 # 删除标签 git tag -d 标签名 # 推送指定标签到远程 git push origin 标签名 # 推送所有标签 git push origin --tags[reference:40]十一、常用命令速查表场景命令说明初始化git init初始化 Git 仓库克隆git clone url克隆远程仓库查看状态git status查看文件状态添加git add .添加所有变更到暂存区提交git commit -m msg提交到本地仓库推送git push origin main推送到远程拉取git pull拉取并合并远程更新获取git fetch获取远程更新但不合并查看日志git log --oneline简洁查看提交历史查看差异git diff查看未暂存的更改创建分支git checkout -b name创建并切换分支切换分支git switch name切换分支合并分支git merge name合并分支到当前删除分支git branch -d name删除已合并的分支暂存修改git stash临时保存当前修改恢复暂存git stash pop恢复并删除 stash撤销文件git restore file撤销工作区修改安全回退git revert hash生成新提交撤销某次提交查看配置git config --list查看所有 Git 配置十二、常见问题与避坑指南12.1 提交信息写错了怎么办git commit --amend -m 新的提交信息12.2 不小心 add 了不该 add 的文件git restore --staged 文件名12.3 代码冲突了怎么办手动打开冲突文件解决冲突内容git add 解决后的文件git commit -m 解决冲突git push12.4 想回到某个历史版本看看# 先查看历史找到 commit-id git log --oneline # 临时切换到该版本不会丢失当前修改 git checkout commit-id # 回到最新版本 git switch main12.5 忘记拉取最新代码就提交了git pull --rebase # 如果有冲突解决后继续 git add . git rebase --continue git push写在最后Git 的命令虽多但日常开发中高频使用的其实只有 20 条左右。建议把这篇文章收藏起来遇到不确定的命令随时查阅。用得多了这些命令自然会刻在肌肉记忆里。记住核心口诀先 status 看状态 → add 到暂存区 → commit 到本地 → push 到远程。本文命令均基于 Git 主流版本测试建议将 Git 更新到 2.23 版本以使用switch和restore等新命令。

相关新闻

嵌入式多核通信实战:硬件Mailbox原理、中断与轮询模式详解

嵌入式多核通信实战:硬件Mailbox原理、中断与轮询模式详解

1. 从硬件邮箱到高效IPC:嵌入式多核通信的实战基石在嵌入式多核处理器的世界里,不同处理器核心(比如Cortex-A系列的应用处理器和Cortex-M系列的实时协处理器)或者同一个核心上运行的不同任务之间,如何安全、高效地“对…

2026/7/28 8:21:25 阅读更多 →
C++日期类实现:运算符重载与面向对象编程实践

C++日期类实现:运算符重载与面向对象编程实践

1. 项目概述&#xff1a;为什么我们需要一个“日期类”&#xff1f;在C的日常开发中&#xff0c;处理日期和时间是绕不开的坎。无论是记录日志、计算任务周期&#xff0c;还是处理用户输入的生辰八字&#xff0c;你总得和年月日打交道。系统自带的<ctime>库用起来总感觉隔…

2026/7/27 14:25:41 阅读更多 →
Starling项目解析:分布式消息队列设计精髓

Starling项目解析:分布式消息队列设计精髓

1. 从Starling项目看分布式系统设计精髓最近花了三周时间完整研读了Starling项目的技术文档与源码实现&#xff0c;这个由Twitter团队开发的轻量级消息队列系统&#xff0c;让我对分布式系统设计有了全新的认知。Starling虽然已不再维护&#xff0c;但其设计理念至今仍值得分布…

2026/7/28 0:53:53 阅读更多 →

最新新闻

SmolForge轻量引擎:自定义皮肤与动画系统开发实战

SmolForge轻量引擎:自定义皮肤与动画系统开发实战

如果你正在为游戏或应用开发寻找一个轻量级、易扩展的渲染引擎&#xff0c;最近 SmolForge 的更新可能值得你关注。这个原本就以"小巧"&#xff08;Smol&#xff09;著称的引擎&#xff0c;在最新版本中加入了自定义皮肤和动画功能&#xff0c;这不仅仅是"又多两…

2026/7/28 21:41:47 阅读更多 →
企业AI智能测试落地实施方案

企业AI智能测试落地实施方案

关注 霍格沃兹软件测试开发 公众号&#xff0c;回复「资料」, 领取人工智能测试开发技术合集 企业 AI 落地的关键 越来越多企业正在尝试引入AI。为了尽快验证效果&#xff0c;不少团队已经投入了大量人力&#xff0c;借助各类开源方案搭建智能体并完成了部分自动化能力的探索。…

2026/7/28 21:41:47 阅读更多 →
pgsql 后台恢复数据

pgsql 后台恢复数据

创建初始数据库create database dbname with OWNERodoo打开命令窗口 注意&#xff1a; 如果没有配置pgsql bin目录得环境变量&#xff0c;需要在bin目录下做操作数据库恢复 打开cmd命令窗口&#xff0c;切换到备份文件所在目录。 快捷键&#xff1a;shift右键 导入数据 2.1 .sq…

2026/7/28 21:41:47 阅读更多 →
NGC_综述_导航制导与控制

NGC_综述_导航制导与控制

**NGC**&#xff1a;Navigation,Guidance and Control广义上讲&#xff0c;导航、制导都是指确定位置、规划路线并引导至目标地的过程或技术&#xff0c;而制导再军事和工程领域通常指对导弹、飞行物等物体的运动轨迹进行控制和引导。狭义上说&#xff0c;导航是通过各种量测手…

2026/7/28 21:41:47 阅读更多 →
PolarDB(阿里云)VS HaishanDB(海山数据库,移动云)的AI能力全面对比

PolarDB(阿里云)VS HaishanDB(海山数据库,移动云)的AI能力全面对比

两者同属【通用数据库内核原生 AI 原生路线】&#xff0c;定位都是&#xff1a;结构化业务数据 向量 全文一体化底座、面向 RAG 与 Agent 记忆&#xff0c;替代 “业务库 独立向量库” 双架构&#xff0c;但出身、技术基线、生态、适用行业、信创资质存在明显分化。说明&…

2026/7/28 21:41:47 阅读更多 →
英国基尔大学教授提炼的写Discussion核心技法!结合Claude 3.7+专业AI提示词,轻松写出大牛级讨论部分

英国基尔大学教授提炼的写Discussion核心技法!结合Claude 3.7+专业AI提示词,轻松写出大牛级讨论部分

各位同仁好,我是七哥。一个在高校里从事人工智能 相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude 等大模型 学术实操相关问题,多多交流,相互成就,共同进步。 有的同仁认为Discussion部分不难写,实际上是回答“这些发现意味着…

2026/7/28 21:40:47 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿&#xff01;3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑&#xff1a;把几百页的财报、法规、技术手册扔给向量库&#xff0c;问一个具体问题&#xff0c;搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了&#xff0c;要么藏在几十条结果的最下面。语义相似≠真正相关&#xff0c;这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营&#xff0c;从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候&#xff0c;每天刷半小时抖音&#xff0c;手动把爆款视频的口播敲进备忘录&#xff0c;一条2分钟的视频得花十来分钟&#xff0c;碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档&#xff0c;可以直接使用&#xff01;系统支持图片、视频、摄像头等多种方式检测裂缝&#xff0c;功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像&#xff01; pubg绝地求生目标检测数据集 1分类&#xff1a;e_body&#xff0c;14905个标签&#xff0c;txt格式 共计14244张图&#xff0c;99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别&#xff1a; allies enemy tag图片总量&#xff1a;7247张训练集&#xff1a;5139张验证集&#xff1a;1425张测试集&#xff1a;683张标注状态&#xff1a;全部已标注&#xff0c;即拿即用数据格式&#xff1a;支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻