尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

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

Windows 下 Git 仓库基本操作详解(保姆级教程
📅 发布时间:2026/8/4 7:16:27

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.email"your@email.com"

1.3 查看当前配置

gitconfig--list

预期输出:

user.name=你的名字 user.email=your@email.com core.autocrlf=true

⚠️Windows 注意:建议设置core.autocrlf=true,Git 会自动处理换行符(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 Token(Token 填在密码栏)。


三、查看仓库状态

随时了解哪些文件被修改、哪些已暂存、哪些未跟踪:

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.txt

3.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 World

💡git diff看的是工作区与暂存区的差异;想看暂存区与最新提交的差异,用git diff --staged。


四、添加文件到暂存区

把修改的文件放入"暂存区"(Stage),准备提交。

4.1 添加单个文件

gitaddREADME.md

4.2 添加多个文件

gitaddREADME.md src/main.py

4.3 添加当前目录所有改动

gitadd.

4.4 添加所有修改(含删除)

gitadd-A

💡git 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修复 bug
docs文档更新
style代码格式调整
refactor重构
test测试相关

示例:

gitcommit-m"feat: 新增用户登录功能"gitcommit-m"fix: 修复空指针异常"

六、查看提交历史

6.1 查看完整日志

gitlog

预期输出:

commit 3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b Author: 你的名字 <your@email.com> Date: Mon Aug 3 14:30:00 2026 +0800 修复了登录页面的bug commit 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b Author: 你的名字 <your@email.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/main

7.2 创建新分支

gitbranch feature-login

7.3 切换分支

# Git 2.23+ 推荐用法(语义更清晰)gitswitch feature-login# 旧版本用法(仍兼容)gitcheckout feature-login

预期输出:

Switched to branch 'feature-login'

7.4 创建并切换(推荐一步完成)

gitswitch-cfeature-login

预期输出:

Switched to a new branch 'feature-login'

7.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 add+git 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.git

8.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 后续推送

gitpush

8.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-C"your@email.com"

然后将~/.ssh/id_ed25519.pub的内容添加到 GitHub/GitLab 的 SSH Keys 中。


九、撤销与回退

改错了怎么办?Git 提供了多种撤销方式,对应不同场景。

9.1 撤销工作区修改(未 add)

gitrestore README.md

旧版本用:git checkout -- README.md

9.2 取消暂存(已 add 未 commit)

gitrestore--stagedREADME.md

旧版本用:git reset HEAD README.md

9.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 撤销场景速查表

场景命令
改错了文件(未 add)git restore <文件>
add 错了文件git restore --staged <文件>
commit 信息写错了git commit --amend
commit 错了想回退git reset --soft HEAD~1
彻底回退到某版本git reset --hard <commit-id>
误删了某个提交git reflog找回 +git cherry-pick

十、.gitignore 配置

告诉 Git 哪些文件不需要跟踪,比如编译产物、依赖包、配置文件等。

10.1 创建 .gitignore 文件

Windows 资源管理器不能直接创建.gitignore(会提示输入文件名),推荐用命令行或编辑器:

notepad .gitignore

10.2 常见规则示例

# 忽略所有 .log 文件 *.log # 忽略 node_modules 文件夹 node_modules/ # 忽略编译输出 dist/ build/ # 忽略 IDE 配置 .vscode/ .idea/ # 忽略敏感信息 .env config.ini # 但保留某个特定文件(前面加 ! 表示例外) !important.log

10.3 提交 .gitignore

gitadd.gitignoregitcommit-m"chore: 添加 .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-m"feat: 完成了某某功能"# 6. 推送到远程gitpush

如果本文对你有帮助,欢迎点赞 👍、收藏 ⭐、评论 💬!有任何问题欢迎在评论区留言交流。

📌相关阅读:

  • Git 官方文档
  • GitHub Git 备忘单

相关新闻

  • TongWeb7类加载冲突诊断与解决方案
  • 电力电缆选型指南:四大特种技术领域的品牌分布
  • 2026免费工具保姆级教程:音频转MP4保留完整ID3元数据(3款小程序实测) - 今日咨询

最新新闻

  • 如何5分钟为Unity游戏添加实时自动翻译:XUnity Auto Translator终极指南
  • 兰州餐饮加盟哪家好? - 中媒介
  • AI生成代码引发数据灾难:Terraform与数据库安全实践
  • UI自动化测试脚本自优化技术解析与实践
  • 2026年淮安大数据平台运维工程师怎么报名?中山优才教育报考指南 - 学历提升热点资讯
  • 医疗器械企业园区哪家专业? - 中媒介

日新闻

  • 5分钟快速搭建智能数字人:Live2D虚拟形象终极部署指南
  • 告别繁简字幕转换烦恼:这款开源工具让你一键搞定影视字幕处理 [特殊字符]
  • GPT-5.4传闻背后:大模型永久记忆与极限推理的技术演进与挑战

周新闻

  • 怀化母婴除甲醛公司测甲醛中心怎么选:康之居母婴除甲醛标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • 三步打造你的终极音乐中心:foobox-cn网络电台功能完整指南
  • Lance湖仓格式:为多模态AI工作流设计的终极数据存储方案

月新闻

  • ClickHouse版本管理深度实战:4步构建零风险升级与回滚体系
  • Java 23 种设计模式:从踩坑到精通 | 番外:责任链模式 —— 物流审批流程实战
  • 华硕笔记本性能解放指南:G-Helper轻量级控制工具全面解析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号