Windows本地 git 版本管理

一、Windows 本地 Git 版本管理的基本流程

假设你的项目目录是:

bash 复制代码
D:\Projects\OA_backend

你可以在 VS Code 或 IntelliJ IDEA 的终端中进入该目录:

bash 复制代码
cd D:\Projects\OA_backend

然后执行:

bash 复制代码
git init

这一步会在当前项目目录下创建隐藏文件夹:

bash 复制代码
.git

只要有 .git 文件夹,这个项目就已经成为一个本地 Git 仓库。


1. 查看当前项目状态

bash 复制代码
git status

它会告诉你:

text 复制代码
哪些文件是新建的
哪些文件被修改了
哪些文件已经加入暂存区
当前是否有未提交内容

这是最常用的 Git 命令之一。


2. 添加文件到暂存区

添加所有改动:

bash 复制代码
git add .

或者只添加某个文件:

bash 复制代码
git add src/main/java/com/company/xxx/UserController.java

简单理解:

text 复制代码
git add = 告诉 Git:这些改动我要纳入下一次版本快照

3. 提交一个版本

bash 复制代码
git commit -m "初始化项目结构"

或者:

bash 复制代码
git commit -m "完成用户登录接口"

简单理解:

text 复制代码
git commit = 保存一个明确的版本节点

以后你就可以回到这个版本、比较这个版本、查看这个版本改了什么。


4. 查看提交历史

bash 复制代码
git log

更简洁一点:

bash 复制代码
git log --oneline

例如:

text 复制代码
a13f2c1 完成用户登录接口
9b7d8a0 初始化项目结构

每一行都是一个版本。


5. 查看某个文件改了什么

bash 复制代码
git diff

这个命令会显示当前未提交的代码改动。

如果你想看某个文件:

bash 复制代码
git diff src/main/java/com/company/xxx/UserService.java

6. 回退未提交的修改

比如你改坏了某个文件,想恢复到最近一次提交的状态:

bash 复制代码
git restore 文件路径

例如:

bash 复制代码
git restore src/main/java/com/company/xxx/UserService.java

如果想恢复所有未提交修改,要非常谨慎:

bash 复制代码
git restore .

这会丢弃当前工作区的修改。


7. 创建分支进行新功能开发

比如你要开发登录功能,可以创建一个新分支:

bash 复制代码
git checkout -b feature-login

查看当前分支:

bash 复制代码
git branch

开发完成并提交:

bash 复制代码
git add .
git commit -m "完成登录功能"

再切回主分支:

bash 复制代码
git checkout main

合并功能分支:

bash 复制代码
git merge feature-login

简单理解:

text 复制代码
main/master:稳定主线
feature-login:临时开发线

这样即使新功能写坏了,也不会直接污染主分支。


二、最适合新手的本地 Git 工作流

你可以先不用复杂分支,只采用这个流程:

bash 复制代码
git status
git add .
git commit -m "本次修改说明"

每完成一个相对完整的小功能,就提交一次。

例如:

bash 复制代码
git add .
git commit -m "添加用户实体类和用户表Mapper"
bash 复制代码
git add .
git commit -m "完成登录页面基础布局"
bash 复制代码
git add .
git commit -m "修复后端跨域配置问题"

不要等整个项目做完才提交。比较好的习惯是:

text 复制代码
完成一个小功能 → 提交一次
修复一个 bug → 提交一次
调整一次配置 → 提交一次

三、建议先创建 .gitignore 文件

很多文件不应该被 Git 管理,例如:

text 复制代码
编译产物
IDE 缓存
依赖目录
日志文件
临时文件

如果是 Java Spring Boot 项目,可以在项目根目录创建 .gitignore

gitignore 复制代码
target/
*.class
*.log

.idea/
*.iml

.DS_Store

.env

如果是 Vue / React 前端项目,可以写:

gitignore 复制代码
node_modules/
dist/
.env
.env.local

.vscode/
.idea/

*.log

如果是前后端分离项目,可以综合写:

gitignore 复制代码
# Java
target/
*.class
*.log

# Node
node_modules/
dist/

# IDE
.idea/
.vscode/
*.iml

# Env
.env
.env.local

# OS
.DS_Store
Thumbs.db

然后提交:

bash 复制代码
git add .gitignore
git commit -m "添加Git忽略规则"

四、AI 编程 Agent 如何帮你做 Git 版本管理?

像 Codex、Claude Code、Cursor Agent、Copilot Agent 这类 AI 编程助手,一般可以帮助你:

text 复制代码
初始化 Git 仓库
检查当前 Git 状态
创建 .gitignore
分析本次代码改动
帮你生成 commit message
执行 git add / git commit
创建分支
合并分支
查看历史版本
回退错误修改

但你要注意一点:

涉及删除、回退、强制覆盖、reset、clean 等危险操作时,不要让 AI 直接执行,应该让它先解释风险并征求确认。

尤其是这些命令:

bash 复制代码
git reset --hard
git clean -fd
git checkout -- .
git restore .

这些命令可能会丢失未提交代码。


五、可以直接给 Codex 的 Prompt 模板

场景 1:让 AI 检查项目是否已有 Git 仓库

你可以输入:

text 复制代码
请检查当前项目目录是否已经初始化为 Git 仓库。请先执行 git status 或等价命令,并告诉我当前仓库状态。不要修改任何文件。

AI 可能会执行:

bash 复制代码
git status

然后告诉你是否已经是 Git 仓库。


场景 2:让 AI 初始化本地 Git 仓库

text 复制代码
请在当前项目根目录初始化一个本地 Git 仓库。初始化前先检查当前目录是否已经存在 .git 仓库。如果不存在,再执行 git init。然后根据当前项目类型创建合适的 .gitignore 文件,但不要提交代码,先把你准备添加的 .gitignore 内容展示给我确认。

这个 prompt 比较安全,因为它要求 AI:

text 复制代码
先检查
再初始化
先展示 .gitignore
不要直接提交

场景 3:让 AI 创建 .gitignore

如果你是 Spring Boot 项目:

text 复制代码
这是一个 Java Spring Boot 后端项目。请帮我在项目根目录创建合适的 .gitignore 文件,忽略 target、IDE 配置文件、日志文件、系统临时文件和环境变量文件。创建后请解释每一类忽略规则的作用。

如果你是 Vue 项目:

text 复制代码
这是一个 Vue 前端项目。请帮我创建合适的 .gitignore 文件,忽略 node_modules、dist、环境变量文件、IDE 配置文件和日志文件。创建后请解释这些规则的作用。

如果是前后端分离项目:

text 复制代码
这是一个前后端分离项目,后端是 Spring Boot,前端是 Vue。请在项目根目录创建综合性的 .gitignore 文件,避免提交 target、node_modules、dist、IDE 配置、日志文件和环境变量文件。不要删除任何现有文件。

场景 4:让 AI 帮你提交当前版本

text 复制代码
请先执行 git status,查看当前有哪些文件被修改、新增或删除。然后总结本次改动内容,并建议一个合适的中文 commit message。不要直接执行 git add 或 git commit,先等我确认。

确认后,你可以再说:

text 复制代码
我确认,请将这些改动加入暂存区并提交,commit message 使用:完成用户登录功能基础实现

这样最安全。


场景 5:让 AI 自动完成 add + commit

如果你已经信任当前改动,可以直接说:

text 复制代码
请查看当前 Git 状态,确认没有敏感文件、依赖目录或编译产物被错误纳入版本管理。然后执行 git add . 并提交,commit message 请根据本次代码改动自动生成,要求简洁、中文、动宾结构。

例如它可能生成:

text 复制代码
添加用户登录页面

或者:

text 复制代码
完善树形目录查询接口

场景 6:让 AI 每完成一个功能就自动提交

可以在一开始告诉 AI:

text 复制代码
接下来你作为我的 AI 编程助手,在每完成一个相对独立的小功能后,请先执行 git status,总结本次改动,并建议是否进行一次 git commit。除非我明确确认,否则不要自动提交。commit message 使用中文,格式为"动词 + 功能点",例如"添加用户登录接口""修复目录树渲染问题"。

这个 prompt 很适合长期项目开发。


场景 7:让 AI 创建功能分支

比如你要开发登录模块:

text 复制代码
请基于当前主分支创建一个新分支 feature-login,用于开发登录功能。创建前请先检查当前是否有未提交修改。如果有未提交修改,请先提醒我,不要直接切换分支。

如果是目录管理功能:

text 复制代码
请创建一个新分支 feature-tree-management,用于开发树形目录管理功能。创建前请检查当前 Git 工作区是否干净。

场景 8:让 AI 对比本次代码改动

text 复制代码
请执行 git diff,帮我审查当前未提交的代码改动。请重点检查:是否有明显 bug、是否误提交了配置文件或敏感信息、是否有不应该进入版本库的文件。不要修改代码,只做分析。

这个很有用,尤其适合提交前检查。


场景 9:让 AI 帮你生成规范 commit message

text 复制代码
请根据当前 git diff 内容,帮我生成 3 个中文 commit message 候选,要求简洁、准确、动宾结构,不超过 20 个字。

例如:

text 复制代码
添加用户登录接口
完善目录树查询逻辑
修复文件上传路径错误

场景 10:让 AI 回退错误改动,但先不要执行

text 复制代码
我刚才的修改可能有问题。请先查看 git status 和 git diff,告诉我哪些文件被修改了,并说明如果要回退这些未提交修改,应该执行哪些命令。不要直接执行任何回退、删除或 reset 操作。

这个非常重要。回退类操作一定要谨慎。


六、推荐你给 AI Agent 的长期规则

你可以把下面这段作为项目开发初始 prompt 发给 Codex:

text 复制代码
你是我的 AI 编程助手,请在本项目中遵守以下 Git 版本管理规则:

1. 在修改代码前,先执行 git status,了解当前工作区状态。
2. 不要随意执行 git reset --hard、git clean -fd、git restore . 等可能丢失代码的命令。
3. 如果需要执行危险 Git 操作,必须先解释风险并等待我确认。
4. 每完成一个独立功能或 bug 修复后,请总结本次改动,并建议一个中文 commit message。
5. 除非我明确要求,否则不要自动提交代码。
6. 提交前请检查是否误加入了 node_modules、target、dist、.env、日志文件或 IDE 缓存文件。
7. commit message 使用中文,格式尽量为"动词 + 功能点",例如"添加用户登录接口""修复文件上传异常"。
8. 如果当前项目尚未初始化 Git 仓库,请提醒我是否需要执行 git init,而不是直接初始化。

这段非常适合你目前这种"AI 辅助开发 + 本地 Git 管理"的场景。


七、一个实际推荐流程

比如你正在开发一个 Spring Boot + Vue 项目,可以这样操作:

第一次建立版本库

bash 复制代码
git init

创建 .gitignore 后:

bash 复制代码
git add .
git commit -m "初始化项目结构"

开发一个新功能前

bash 复制代码
git status

确认工作区干净后,创建分支:

bash 复制代码
git checkout -b feature-login

开发过程中

让 AI 写代码、修改代码。

完成后检查:

bash 复制代码
git status
git diff

确认没问题后:

bash 复制代码
git add .
git commit -m "添加用户登录功能"

功能完成后合并到主分支

bash 复制代码
git checkout main
git merge feature-login

八、对你最实用的一套命令

你刚开始只需要记住这些:

bash 复制代码
git init
git status
git add .
git commit -m "提交说明"
git log --oneline
git diff

进阶一点再掌握:

bash 复制代码
git branch
git checkout -b 分支名
git checkout main
git merge 分支名
git restore 文件名

九、结论

你可以这样理解:

text 复制代码
Git = 本地版本管理工具
GitHub/Gitee = 远程代码托管平台
Codex/AI Agent = 帮你写代码、分析改动、执行 Git 命令的助手

在 Windows 上,即使完全不使用 GitHub,也可以通过 Git 实现:

text 复制代码
本地版本保存
代码修改记录
错误回退
分支开发
功能合并
提交历史查看

对于 AI 辅助编程,我建议你的核心原则是:

text 复制代码
让 AI 写代码可以积极一点;
让 AI 执行 Git 删除、回退、重置操作一定要保守一点。

你可以先从这个 prompt 开始用:

text 复制代码
请先检查当前项目的 Git 状态,告诉我是否已经初始化 Git 仓库。如果已经初始化,请总结当前工作区是否有未提交修改;如果还没有初始化,请告诉我下一步应该如何安全地初始化本地 Git 仓库。不要修改任何文件。
相关推荐
AI周红伟7 小时前
Windows 支持 Hermes Agent 吗:原生 Windows 安装 + WSL2 路径完整指南
数据库·人工智能·windows·阿里云·职场和发展·计算机外设
Niliuershangba7 小时前
ChestnutCMS 栗子内容管理系统:从入门到模板开发实战
java·git·开源·gitlab·github·开源软件·gitcode
idolao8 小时前
GX Works3 安装教程 Windows版:序列号输入+组件配置指南
windows
专注VB编程开发20年8 小时前
安桌15系统文件直接存到其他目录要权限吗?/storage/emulated/0/Downloa
git
鲲鹏AI探索局8 小时前
Marvis 初步体验:它不像套壳聊天框,但还不能叫“贾维斯”
人工智能·windows·aigc·ai-native
yaoxin5211239 小时前
417. 现代 Java IO 最佳实践 - 高效遍历、ZIP 处理与临时文件管理
java·开发语言·windows
ofoxcoding9 小时前
Codex 官网访问 + 完整安装教程:macOS / Windows / Linux 一次跑通(2026)
linux·windows·macos·ai
不吃鱼的羊9 小时前
提交代码添加Change-Id
大数据·elasticsearch·搜索引擎
奋斗的小青年I9 小时前
Proxmox 性能调优全攻略
windows·vmware·pve·超融合