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/8/6 17:43:42 阅读更多 →
以技术积累助力智慧会议建设 | 无纸化会议设备

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

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

2026/8/6 17:48:17 阅读更多 →
每日八股day11

每日八股day11

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

2026/8/6 19:07:18 阅读更多 →

最新新闻

剥离数据统计琐事,AI 助力 HRBP 转型业务侧人才战略伙伴

剥离数据统计琐事,AI 助力 HRBP 转型业务侧人才战略伙伴

HRBP AI Agent 是一种具备长期记忆、主动推进任务、持续学习组织人才数据的智能体,专为人力资源业务伙伴(HRBP)场景设计,能够实时分析人才结构、辅助决策并主动输出洞察建议。它不是一个问答机器人,也不是嵌入HR系统的…

2026/8/7 0:54:43 阅读更多 →
企业怎么防勒索病毒?KSP RDM 防勒索组件阻断 WannaRen 实战

企业怎么防勒索病毒?KSP RDM 防勒索组件阻断 WannaRen 实战

勒索病毒的真正可怕之处 数据被加密只是表象,真正的代价是:业务停摆 赎金 监管通报 客户信任归零。 传统杀毒靠"已知病毒特征库",但勒索病毒每天变种,等你更新库,文件已经全绿了。等保 2.0 里"恶意代…

2026/8/7 0:54:43 阅读更多 →
2024年深度解析网站建设需要注意哪些核心细节以确保商业成功

2024年深度解析网站建设需要注意哪些核心细节以确保商业成功

咱们今天不聊那些虚无缥缈的理论,也不整那些看着高大上但根本落不了地的黑话。我就想以一个过来人的身份,跟各位老板、创业者或者是负责这块工作的同事,掏心窝子聊聊一件事,那就是网站建设需要注意什么。说实话,很多人有个误区,觉得建站这事特别简单。找个模板,拖拖拽拽…

2026/8/7 0:54:43 阅读更多 →
Android BaseListAdapter要这样搞?

Android BaseListAdapter要这样搞?

引言:一个被低估的基石 现在提到 Android 列表,大家第一反应都是 RecyclerView 甚至 Compose 的 LazyColumn。BaseAdapter?那不就是老古董了吗?不少开发者对它的印象还停留在“面试才用得上”的阶段。但在实际工作中,…

2026/8/7 0:53:42 阅读更多 →
【2026年百度暑期实习/秋招- 8月6日-算法岗-第三题-报文置换归位】(题目+思路+JavaC++Python解析+在线测试)

【2026年百度暑期实习/秋招- 8月6日-算法岗-第三题-报文置换归位】(题目+思路+JavaC++Python解析+在线测试)

题目内容 报文流水线按固定置换反复重排字符串。给定长度为 n n n 的字符串 u u u,以及长度为 n n n<

2026/8/7 0:53:42 阅读更多 →
Android 13 Launcher3深度定制实战:打造16宫格默认文件夹的终极指南

Android 13 Launcher3深度定制实战:打造16宫格默认文件夹的终极指南

一、引言&#xff1a;为什么需要自定义 Launcher3 文件夹在 Android 系统开发中&#xff0c;原生的 Launcher3 桌面启动器往往无法满足企业定制、教育平板、车载系统或智能家居等场景的特殊需求。默认的 3x3 或 4x3 文件夹布局在信息展示效率和空间利用上都不够理想。本文将基于…

2026/8/7 0:53:42 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案&#xff1a;完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上&#xff0c;享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select&#xff1a;打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手&#xff1a;NSZ压缩工具终极指南&#xff0c;轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流&#xff1a;一个核心问题的诞生想象一下&#xff0c;你是一个城市供水系统的总工程师。你的城市有多个水源&#xff08;水库&#xff09;&#xff0c;需要通过一个复杂的地下管道网络&#xff0c;将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起&#xff1a;为什么我们需要互相关几年前&#xff0c;我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号&#xff0c;理论上它们接收到的声音波形应该非常相似&#xff0c;只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →