Windows 下 Git 仓库基本操作详解(保姆级教程
Windows 下 Git 仓库基本操作详解保姆级教程作者乐观者永远前行日期2026-08-03标签GitWindows版本控制教程CSDN 前言作为开发者Git是日常工作中最必不可少的工具之一。但很多刚接触 Git 的同学面对命令行总是一头雾水尤其是Windows 环境下路径、换行符、权限等问题更让人抓狂。本文将从零开始手把手带你走完Git 在 Windows 下的完整使用流程涵盖安装配置、仓库创建、日常提交、分支管理、远程同步、撤销回退等全部核心操作。每一步都附带实际命令和终端输出示例。 目录一、安装与配置二、创建本地仓库三、查看仓库状态四、添加文件到暂存区五、提交更改六、查看提交历史七、分支操作八、远程仓库操作九、撤销与回退十、.gitignore 配置 总结一、安装与配置1.1 检查是否已安装 Git打开PowerShell或CMD输入git--version预期输出git version 2.43.0.windows.1 如果提示git 不是内部或外部命令说明 Git 未安装需前往 git-scm.com 下载 Windows 安装包安装时全部默认选项即可。1.2 配置用户名和邮箱Git 提交记录会带上你的身份信息首次使用必须配置# 配置用户名全局gitconfig--globaluser.name你的名字# 配置邮箱全局gitconfig--globaluser.emailyouremail.com1.3 查看当前配置gitconfig--list预期输出user.name你的名字 user.emailyouremail.com core.autocrlftrue⚠️Windows 注意建议设置core.autocrlftrueGit 会自动处理换行符LF↔CRLF避免跨平台协作时出现满屏的^M符号。二、创建本地仓库创建 Git 仓库有两种方式初始化新仓库或克隆远程仓库。2.1 方式一初始化新仓库# 先进入你的项目文件夹Windows 路径可用正斜杠或反斜杠cdD:/Projects/MyProject# 初始化 Git 仓库gitinit预期输出Initialized empty Git repository in D:/Projects/MyProject/.git/执行后项目目录下会生成一个隐藏的.git文件夹这就是 Git 的版本库。2.2 方式二克隆远程仓库# 从 GitHub / GitLab / Gitee 克隆已有仓库gitclone https://github.com/username/repo.git# 克隆到指定文件夹名gitclone https://github.com/username/repo.git my-folder预期输出Cloning into repo... remote: Enumerating objects: 100, done. Receiving objects: 100% (100/100), done.⚠️注意克隆私有仓库时需要配置 SSH 密钥或使用 HTTPS Personal Access TokenToken 填在密码栏。三、查看仓库状态随时了解哪些文件被修改、哪些已暂存、哪些未跟踪3.1 查看当前状态gitstatus预期输出On branch main Changes not staged for commit: (use git add file... to update what will be committed) modified: README.md modified: src/main.py Untracked files: (use git add file... to include in what will be committed) new_file.txt3.2 简洁状态显示gitstatus-s预期输出M README.md M src/main.py ?? new_file.txt 符号含义M 修改A 新增D 删除?? 未跟踪。3.3 查看文件具体修改内容gitdiff预期输出diff --git a/README.md b/README.md index 1234..5678 100644 --- a/README.md b/README.md -1 1 -Hello Hello Worldgit diff看的是工作区与暂存区的差异想看暂存区与最新提交的差异用git diff --staged。四、添加文件到暂存区把修改的文件放入暂存区Stage准备提交。4.1 添加单个文件gitaddREADME.md4.2 添加多个文件gitaddREADME.md src/main.py4.3 添加当前目录所有改动gitadd.4.4 添加所有修改含删除gitadd-Agit add .只添加当前目录及子目录git add -A包含整个仓库的所有改动含删除。4.5 交互式选择添加gitadd-p交互提示diff --git a/README.md b/README.md Stage this hunk [y,n,q,a,d,s,e,?]?⚠️如果不小心 add 错了用git restore --staged 文件名取消暂存。五、提交更改将暂存区的内容保存到本地仓库形成一条历史记录。5.1 提交并写注释gitcommit-m修复了登录页面的bug预期输出[main 3a4b5c6] 修复了登录页面的bug 2 files changed, 15 insertions(), 3 deletions(-)5.2 添加并一步提交仅对已跟踪文件gitcommit-am更新文档-a参数会自动将所有已跟踪文件的改动加入暂存区并提交省去git add步骤。但新文件仍需先git add。5.3 修改最后一次提交gitcommit--amend-m修正后的提交信息预期输出[main 7d8e9f0] 修正后的提交信息 Date: Mon Aug 3 14:30:00 2026 0800 1 file changed, 1 insertion()⚠️警告git commit --amend会修改提交历史。如果已经push到远程仓库不要 amend否则会导致冲突5.4 提交信息规范建议推荐格式类型: 简要描述类型说明feat新增功能fix修复 bugdocs文档更新style代码格式调整refactor重构test测试相关示例gitcommit-mfeat: 新增用户登录功能gitcommit-mfix: 修复空指针异常六、查看提交历史6.1 查看完整日志gitlog预期输出commit 3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b Author: 你的名字 youremail.com Date: Mon Aug 3 14:30:00 2026 0800 修复了登录页面的bug commit 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b Author: 你的名字 youremail.com Date: Mon Aug 3 10:15:00 2026 0800 初始化项目6.2 简洁单行显示gitlog--oneline预期输出3a4b5c6 修复了登录页面的bug 1a2b3c4 初始化项目6.3 图形化分支图gitlog--oneline--graph--all预期输出* 3a4b5c6 修复了登录页面的bug | * 9f8e7d6 开发新功能 |/ * 1a2b3c4 初始化项目6.4 查看某文件的修改历史gitlog-pREADME.md 按Q 键退出git log查看界面Git 使用less作为分页器。七、分支操作分支是 Git 的核心特性用于并行开发不同功能互不影响。7.1 查看所有分支gitbranch-a预期输出* main dev remotes/origin/main7.2 创建新分支gitbranch feature-login7.3 切换分支# Git 2.23 推荐用法语义更清晰gitswitch feature-login# 旧版本用法仍兼容gitcheckout feature-login预期输出Switched to branch feature-login7.4 创建并切换推荐一步完成gitswitch-cfeature-login预期输出Switched to a new branch feature-login7.5 合并分支到当前分支# 先切换回 main 分支gitswitch main# 合并 feature-login 分支gitmerge feature-login预期输出Updating 1a2b3c4..3a4b5c6 Fast-forward src/login.py | 10 1 file changed, 10 insertions()⚠️ 如果合并出现冲突Git 会标记冲突文件手动解决后需再次git addgit commit。7.6 删除已合并的分支gitbranch-dfeature-login预期输出Deleted branch feature-login (was 3a4b5c6).7.7 分支操作流程图git switch -c feature-login ↓ 在分支上开发提交 ↓ git switch main ↓ git merge feature-login ↓ git branch -d feature-login八、远程仓库操作将本地仓库与 GitHub / GitLab / Gitee 等远程仓库关联实现代码同步。8.1 查看远程仓库gitremote-v预期输出origin https://github.com/username/repo.git (fetch) origin https://github.com/username/repo.git (push)8.2 添加远程仓库gitremoteaddorigin https://github.com/username/repo.git8.3 首次推送到远程gitpush-uorigin main预期输出Enumerating objects: 5, done. Writing objects: 100% (5/5), 450 bytes | 450.00 KiB/s, done. To https://github.com/username/repo.git * [new branch] main - main Branch main set up to track remote branch main from origin.-u--set-upstream只需第一次push时加后续直接git push即可。8.4 后续推送gitpush8.5 拉取远程更新gitpull预期输出Updating 1a2b3c4..9f8e7d6 Fast-forward src/main.py | 5 1 file changed, 5 insertions()8.6 抓取远程分支不合并gitfetch origin⚠️Windows 注意首次push到 HTTPS 地址时可能需要输入用户名和 Token密码栏填 Token。建议配置 SSH 密钥实现免密推送ssh-keygen-ted25519-Cyouremail.com然后将~/.ssh/id_ed25519.pub的内容添加到 GitHub/GitLab 的 SSH Keys 中。九、撤销与回退改错了怎么办Git 提供了多种撤销方式对应不同场景。9.1 撤销工作区修改未 addgitrestore README.md旧版本用git checkout -- README.md9.2 取消暂存已 add 未 commitgitrestore--stagedREADME.md旧版本用git reset HEAD README.md9.3 回退到指定版本保留修改gitreset--softHEAD~1回退到上一个版本但保留修改内容在暂存区。9.4 回退到指定版本丢弃修改gitreset--hard3a4b5c6预期输出HEAD is now at 3a4b5c6 修复了登录页面的bug⚠️警告git reset --hard会永久删除未提交的改动执行前务必确认9.5 查看所有操作记录用于找回gitreflog预期输出3a4b5c6 HEAD{0}: commit: 修复了登录页面的bug 1a2b3c4 HEAD{1}: commit: 初始化项目 即使reset --hard了只要没清理垃圾用git reflog找到旧 commit ID还能通过git reset --hard ID救回来9.6 撤销场景速查表场景命令改错了文件未 addgit restore 文件add 错了文件git restore --staged 文件commit 信息写错了git commit --amendcommit 错了想回退git reset --soft HEAD~1彻底回退到某版本git reset --hard commit-id误删了某个提交git reflog找回 git cherry-pick十、.gitignore 配置告诉 Git 哪些文件不需要跟踪比如编译产物、依赖包、配置文件等。10.1 创建 .gitignore 文件Windows 资源管理器不能直接创建.gitignore会提示输入文件名推荐用命令行或编辑器notepad .gitignore10.2 常见规则示例# 忽略所有 .log 文件 *.log # 忽略 node_modules 文件夹 node_modules/ # 忽略编译输出 dist/ build/ # 忽略 IDE 配置 .vscode/ .idea/ # 忽略敏感信息 .env config.ini # 但保留某个特定文件前面加 ! 表示例外 !important.log10.3 提交 .gitignoregitadd.gitignoregitcommit-mchore: 添加 .gitignore 文件⚠️注意如果文件已经被 Git 跟踪再添加到.gitignore不会生效需先执行gitrm--cached文件名 github.com/github/gitignore 有各语言的标准.gitignore模板直接复制用即可。 总结本文完整梳理了 Windows 环境下 Git 仓库的核心操作流程安装配置 → 创建/克隆仓库 → 日常开发修改 → add → commit ↓ 分支管理switch / merge→ 远程同步push / pull ↓ 撤销回退restore / reset / reflog→ .gitignore 配置每日工作流速记# 1. 开始工作前拉取最新代码gitpull# 2. 修改代码...# 3. 查看改了什么gitstatusgitdiff# 4. 把改动的文件加入暂存区gitadd.# 5. 提交到本地仓库gitcommit-mfeat: 完成了某某功能# 6. 推送到远程gitpush如果本文对你有帮助欢迎点赞 、收藏 ⭐、评论 有任何问题欢迎在评论区留言交流。相关阅读Git 官方文档GitHub Git 备忘单

相关新闻

Ravenbs半暴力客户端:免费安全测试工具的原理、配置与实战

Ravenbs半暴力客户端:免费安全测试工具的原理、配置与实战

如果你是一名开发者,最近在寻找一款免费、高效且功能强大的网络测试或安全评估工具,那么你很可能已经听说过“Ravenbs”这个名字。在众多开源和免费工具中,它正被越来越多的技术社区成员称为“免费价位最强的半暴力客户端”。这个称号听起来很…

2026/10/21 12:20:40 阅读更多 →
以技术积累助力智慧会议建设 | 无纸化会议设备

以技术积累助力智慧会议建设 | 无纸化会议设备

在会议数字化、智能化持续发展的背景下,无纸化会议系统逐渐成为政企会议场景提升效率、优化管理的重要技术方向。作为会议系统领域的企业,广东公信智能会议股份有限公司(GONSIN公信)持续围绕会议设备与会务管理软件开展研发&#…

2026/10/20 22:27:59 阅读更多 →
每日八股day11

每日八股day11

### 本系列帖子为鼠鼠复习八股巩固记忆和个人理解所写,如有错误纯属本人实力不佳,欢迎各位大佬阅读指正 ###1.Redis 是什么?为什么叫高性能?Redis是基于内存的高性能非关系型数据库。为什么高性能:基于内存操作&…

2026/10/22 12:20:31 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/22 10:18:38 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/22 11:01:53 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/22 9:44:47 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/22 10:42:00 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/22 10:40:08 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/22 10:56:37 阅读更多 →

日新闻

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/22 1:47:45 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/21 21:32:28 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/22 5:12:39 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 21:50:56 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 21:51:55 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/22 19:06:46 阅读更多 →