Windows 下 Git 仓库基本操作详解(保姆级教程

发布时间:2026/9/21 17:41:58

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 备忘单
延伸阅读

更多相关文章

2026/9/19 7:55:56

PMX转VRM实战:解决骨骼、材质与物理系统兼容性问题

1. 项目概述:从PMX到VRM,不止是格式转换如果你正在尝试将MikuMikuDance(MMD)生态中那些精美的角色模型导入到Unity、VRChat或者支持VRM格式的各类应用中,那么“PMX转VRM”这个坎儿,你大概率是绕不过去的。这…

2026/9/19 7:55:54

2026人体工学椅核心技术解析与选购指南

1. 2026年人体工学椅市场格局解析2026年的人体工学椅市场已经进入技术沉淀期,各大品牌从早期的功能堆砌转向核心支撑技术的深度研发。作为从业12年的办公设备评测师,我观察到这个阶段的产品竞争呈现三个显著特征:首先是材料科学的突破性应用。…

2026/9/21 17:39:16

android 11正式发布后实战项目避坑指南

android 11正式发布后实战项目避坑指南 刚把网上抄的 Android 11 适配代码粘进工程,编译报错,运行闪退。那种“复制来的代码跑不通不知道怎么调”的绝望感,每个做安卓的老兵都经历过。别慌,这不是你的错,是 Android…

2026/9/21 17:39:16

生产制造管理系统避坑:搞定电子证书与年审的5个高频面试题

生产制造管理系统避坑:搞定电子证书与年审的5个高频面试题 官方文档厚达三百页,翻半天找不到证书查询接口在哪?别慌,这不仅是文档的问题,更是很多后端开发在构建 生产制造管理系统 时最容易踩的深坑。我见过太多项目上线后,因为没处理好 电子证书…

2026/9/21 17:39:16

2026最新ladyboy69版本升级API全变?3招搞定底层逻辑

2026最新ladyboy69版本升级API全变?3招搞定底层逻辑 昨晚还在跑通顺的脚本,今早一启动,满屏的 AttributeError 。那种感觉就像你熟练地掏出一把旧钥匙,却发现门锁已经被厂家偷偷换成了指纹锁。这就是 版本升级后…

2026/9/21 17:39:16

点线面构成图性能优化:新手避坑指南,告别卡顿

点线面构成图性能优化:新手避坑指南,告别卡顿 配置环境就卡半天,代码一跑就崩,这是很多刚接触图形渲染或地理信息开发的新手最真实的写照。在公路工程或测绘项目中,处理【点线面构成图】时,数据量稍大,浏览器或客户端直接卡死,内存飙升,用户体验极差…

2026/9/21 17:39:16

3分钟搞定孩子身高预测工具:保姆级教程

3分钟搞定孩子身高预测工具:保姆级教程 是不是刚把GitHub上的项目复制下来,双击运行就报错?或者在本地跑通了,换个电脑又炸了?这种“复制来的代码跑不通不知道怎么调”的噩梦,每个初学者都经历过。别急,今天这篇保姆级教程,不讲虚的,直接带你…

2026/9/21 3:28:31

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/21 3:33:19

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/21 0:02:23

OpenResearch:构建可复现的开放式研究工作流

第一次看到“OpenResearch”这个名字,我脑子里冒出的不是某个具体软件,而更像一种研究方式的宣言:开放、可复现、可验证。这三件事放在一起,其实比大多数人想象中难得多。过去几年我一直在折腾自己的研究工作流,从纯纸…

2026/9/20 4:54:47

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/20 5:01:23

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/21 10:29:02

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码