【侄女零基础升级打怪】Vibe Coding氛围编程 AI编程之Git代码版本管理:本地部署与调用实战指南
① 新手必读:Git是什么?为什么程序员都要学它?
想象一下,你正在写一份重要的毕业论文,改了一版又一版,最后电脑里存了十几个文件:「论文_初稿.doc」「论文_修改1.doc」「论文_最终版.doc」「论文_最终版2.doc」「论文_打死不改版.doc」……是不是很熟悉?
Git 就是来解决这个问题的。它是一个版本控制系统,能帮你:
- 记录每一次修改:谁、在什么时候、改了什么内容,一目了然
- 随时回到历史版本:改错了?没关系,一键回退到三天前的版本
- 多人协作不打架:你和同事同时改一个文件,Git 能自动合并,冲突了也会提示你
- 云端备份:代码存在 GitHub/Gitee 上,电脑坏了也不怕
对于编程新手来说,Git 是必须掌握的第一项工具,就像学开车要先学会挂挡一样。
② 环境搭建:Git安装与初始配置(超详细图文版)
Windows 系统安装
-
下载安装包
- 打开浏览器,访问 Git 官网:https://git-scm.com/
- 点击右侧大大的「Downloads for Windows」按钮
- 下载完成后,双击运行安装程序
-
安装过程(一路默认即可)
- 点击「Next」
- 选择安装路径(默认即可)
- 选择组件(默认即可)
- 选择默认编辑器(建议选「Notepad++」或「Visual Studio Code」)
- 调整 PATH 环境(选「Git from the command line and also from 3rd-party software」)
- 选择 HTTPS 传输后端(选「Use the OpenSSL library」)
- 配置行结束符转换(选「Checkout Windows-style, commit Unix-style line endings」)
- 选择终端模拟器(选「Use MinTTY」)
- 其他选项保持默认,一路「Next」直到「Install」
- 安装完成后,取消勾选「View Release Notes」,点击「Finish」
-
验证安装
- 在桌面按
Win + R,输入cmd回车 - 在命令行中输入:
git --version - 如果显示类似
git version 2.40.0.windows.1的信息,说明安装成功!
- 在桌面按
Mac 系统安装
-
方法一:使用 Homebrew(推荐)
- 打开终端(Terminal)
- 输入命令:
brew install git - 等待安装完成
-
方法二:下载安装包
- 访问 https://git-scm.com/download/mac
- 下载对应芯片版本(Intel 或 Apple Silicon)
- 双击安装即可
-
验证安装
- 在终端中输入:
git --version - 看到版本号即表示安装成功
- 在终端中输入:
Linux 系统安装
# Ubuntu/Debian
sudo apt update
sudo apt install git -y
# CentOS/RHEL/Fedora
sudo yum install git -y
初次配置(所有系统都要做)
安装完成后,打开命令行(终端),依次输入以下命令配置你的身份信息:
# 设置用户名(用你的 GitHub/Gitee 用户名)
git config --global user.name "你的名字"
# 设置邮箱(用你注册 GitHub/Gitee 的邮箱)
git config --global user.email "你的邮箱@example.com"
# 设置默认分支名为 main(新项目推荐)
git config --global init.defaultBranch main
配置完成后,可以用以下命令查看配置是否生效:
git config --global --list
③ 代码上传:把本地项目推送到远程仓库
第一步:在 GitHub/Gitee 上创建仓库
- 登录 GitHub(https://github.com)或 Gitee(https://gitee.com)
- 点击右上角的「+」号,选择「New repository」
- 填写仓库名称(如
my-first-project) - 选择公开(Public)或私有(Private)
- 不要勾选「Initialize this repository with a README」
- 点击「Create repository」
第二步:在本地初始化 Git 仓库
# 进入你的项目文件夹
cd /path/to/your/project
# 初始化 Git 仓库
git init
# 添加所有文件到暂存区
git add .
# 提交到本地仓库
git commit -m "第一次提交:初始化项目"
第三步:关联远程仓库并推送
# 关联远程仓库(把下面的地址换成你自己的)
git remote add origin https://github.com/你的用户名/my-first-project.git
# 推送到远程仓库
git push -u origin main
新手注意:第一次推送时,可能会弹出登录窗口,输入你的 GitHub/Gitee 账号密码即可。如果提示密码验证失败,需要改用 Personal Access Token(个人访问令牌),具体方法见文末的「新手注意事项」。
④ 代码下载:从远程仓库克隆项目到本地
克隆别人的项目
# 克隆到当前目录
git clone https://github.com/用户名/仓库名.git
# 克隆到指定文件夹
git clone https://github.com/用户名/仓库名.git 我的文件夹
拉取自己的项目
如果你换了电脑,或者想在其他地方继续工作:
# 克隆自己的仓库
git clone https://github.com/你的用户名/my-first-project.git
# 进入项目目录
cd my-first-project
⑤ 代码更新:日常开发流程
场景一:修改文件后提交
# 1. 查看当前状态(看看改了哪些文件)
git status
# 2. 添加修改的文件到暂存区
git add 文件名.py # 添加单个文件
git add . # 添加所有修改的文件
# 3. 提交到本地仓库
git commit -m "修复了登录功能的bug"
# 4. 推送到远程仓库
git push
场景二:拉取远程最新代码
在开始工作前,或者提交前,先拉取远程的最新代码:
# 拉取远程最新代码并自动合并
git pull
场景三:查看提交历史
# 查看提交历史(简洁版)
git log --oneline
# 查看提交历史(详细版)
git log
# 查看某个文件的修改历史
git log --oneline 文件名.py
⑥ 代码备份:保护你的劳动成果
方法一:推送到远程仓库(最推荐)
# 每天工作结束前执行
git add .
git commit -m "日常备份:2024-01-15"
git push
方法二:创建标签(标记重要版本)
# 创建标签
git tag v1.0.0
# 推送标签到远程
git push origin v1.0.0
# 查看所有标签
git tag
方法三:创建分支(实验性修改)
# 创建并切换到新分支
git checkout -b 实验性功能
# 在新分支上修改代码
# ... 修改文件 ...
# 提交修改
git add .
git commit -m "实验性功能:添加了AI推荐算法"
# 切换回主分支
git checkout main
# 合并实验分支到主分支
git merge 实验性功能
⑦ 新手注意事项(必看!)
1. 不要提交敏感信息
- ❌ 不要把密码、API密钥、私钥提交到Git
- ✅ 使用
.gitignore文件忽略敏感文件 - 示例
.gitignore文件内容:
# 忽略配置文件
config.json
.env
# 忽略编译产物
__pycache__/
*.pyc
node_modules/
# 忽略系统文件
.DS_Store
Thumbs.db
2. 提交信息要写清楚
- ❌
git commit -m "修改"(太模糊) - ✅
git commit -m "修复:用户登录时密码验证失败的bug" - ✅
git commit -m "新增:文章详情页的点赞功能"
3. 养成先拉后推的习惯
# 正确的提交顺序
git pull # 先拉取最新代码
git add . # 再添加修改
git commit -m "xxx" # 提交
git push # 最后推送
4. 解决 Personal Access Token 问题
从2021年起,GitHub不再支持密码直接推送,需要使用Token:
- 登录GitHub,点击右上角头像 → Settings
- 左侧菜单选择「Developer settings」
- 选择「Personal access tokens」→「Tokens (classic)」
- 点击「Generate new token」
- 勾选
repo权限 - 生成后复制Token(关掉页面就看不到了)
- 推送时,密码框粘贴这个Token即可
5. 常用命令速查表
| 命令 | 作用 |
|---|---|
git init |
初始化本地仓库 |
git clone <地址> |
克隆远程仓库 |
git status |
查看当前状态 |
git add <文件> |
添加文件到暂存区 |
git commit -m "信息" |
提交到本地仓库 |
git push |
推送到远程仓库 |
git pull |
拉取远程最新代码 |
git log --oneline |
查看提交历史 |
git checkout -b <分支名> |
创建并切换分支 |
git branch |
查看所有分支 |
git merge <分支名> |
合并分支 |
6. 遇到冲突不要慌
当 git pull 提示冲突时:
- 打开冲突文件,你会看到类似这样的标记:
<<<<<<< HEAD
这是你本地的修改
=======
这是远程的修改
>>>>>>> origin/main
- 手动选择保留哪个版本,或者合并两者
- 删除
<<<<<<<、=======、>>>>>>>这些标记 - 保存文件,然后:
git add 冲突文件
git commit -m "解决合并冲突"
git push
7. Git 日常开发标准流程图
下面是日常开发从修改代码到推送的完整流程,包含冲突处理分支:
流程说明:
- 先拉后改:每次开发前先
git pull,确保基于最新代码工作 - 小步提交:每次修改后及时
git add+git commit,提交信息写清楚 - 推前再拉:推送前再
git pull一次,避免远程有新提交导致推送失败 - 冲突不可怕:遇到冲突时按标记手动合并,解决后重新提交推送即可
⑧ 常见问题与排查
1. git push 提示「Permission denied」
这是新手最常遇到的推送失败问题,通常有以下几种原因:
原因一:SSH 密钥未配置或未添加
如果你使用 SSH 协议克隆仓库,但本地没有生成 SSH 公钥,或者公钥没有添加到 GitHub/Gitee 账户中。
解决方法:
# 1. 检查是否已有 SSH 密钥
ls -al ~/.ssh
# 2. 如果没有,生成新的 SSH 密钥(一路回车即可)
ssh-keygen -t ed25519 -C "your_email@example.com"
# 3. 查看并复制公钥
cat ~/.ssh/id_ed25519.pub
然后将复制的内容添加到 GitHub → Settings → SSH and GPG keys → New SSH key。
原因二:使用 HTTPS 但密码/Token 错误
从 2021 年起 GitHub 不再支持密码直接推送,必须使用 Personal Access Token。
解决方法:
- 如果之前用的是密码,请改用 Token(生成方法见上文「④ 解决 Personal Access Token 问题」)
- 或者改用 SSH 协议:
git remote set-url origin git@github.com:用户名/仓库名.git
原因三:没有推送权限
如果你尝试推送到别人的仓库,或者仓库设置了分支保护规则。
解决方法:
- 确认你是否有该仓库的写入权限
- 如果是别人的项目,先 Fork 到自己账户,再推送到自己的 Fork
- 如果是受保护分支(如
main),先推送到其他分支,再提 Pull Request
2. git pull 提示「Your local changes would be overwritten」
当你本地有未提交的修改,而远程仓库也有更新时,git pull 会拒绝执行,提示:
error: Your local changes to the following files would be overwritten by merge
推荐解决方法:使用 git stash 暂存本地修改
# 1. 暂存当前本地修改(工作区会恢复干净)
git stash
# 2. 拉取远程最新代码
git pull
# 3. 恢复之前暂存的修改
git stash pop
如果恢复时出现冲突,手动解决冲突后提交即可。
其他可选方案:
- 如果本地修改不重要,直接丢弃:
git checkout -- <文件名>(⚠️ 不可恢复) - 如果本地修改已完成,先提交再拉取:
git add .→git commit -m "xxx"→git pull
3. 误提交了敏感信息,如何从 Git 历史中彻底移除
⚠️ 重要警告:以下操作会重写 Git 历史,影响所有协作者。如果仓库有其他人使用,请务必提前通知并协调好操作时间。操作后所有协作者需要重新克隆仓库。
方法一:使用 git filter-branch(Git 内置)
# 从所有分支和历史中移除包含敏感信息的文件
git filter-branch --force --index-filter \
"git rm --cached --ignore-unmatch 敏感文件路径" \
--prune-empty --tag-name-filter cat -- --all
方法二:使用 BFG Repo-Cleaner(更简单快速)
BFG 是专门为清理 Git 历史设计的工具,比 filter-branch 快 10-100 倍。
# 1. 下载 BFG(需要 Java 环境)
# 2. 将敏感文件内容替换为 ***REMOVED***
java -jar bfg.jar --replace-text passwords.txt my-repo.git
# 或者直接删除特定文件
java -jar bfg.jar --delete-files config.json my-repo.git
操作后的收尾工作:
# 强制推送到远程(会覆盖历史,谨慎操作!)
git push origin --force --all
# 通知所有协作者重新克隆仓库
# 旧仓库需要删除后重新 clone
预防措施(比事后清理更重要):
- 使用
.gitignore提前忽略敏感文件 - 提交前用
git status检查即将提交的文件 - 考虑使用
git-secrets等工具自动扫描敏感信息
更多推荐


所有评论(0)