① 新手必读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/Debiansudoaptupdatesudoaptinstallgit-y# CentOS/RHEL/Fedorasudoyuminstallgit-y初次配置所有系统都要做安装完成后打开命令行终端依次输入以下命令配置你的身份信息# 设置用户名用你的 GitHub/Gitee 用户名gitconfig--globaluser.name你的名字# 设置邮箱用你注册 GitHub/Gitee 的邮箱gitconfig--globaluser.email你的邮箱example.com# 设置默认分支名为 main新项目推荐gitconfig--globalinit.defaultBranch main配置完成后可以用以下命令查看配置是否生效gitconfig--global--list③ 代码上传把本地项目推送到远程仓库第一步在 GitHub/Gitee 上创建仓库登录 GitHubhttps://github.com或 Giteehttps://gitee.com点击右上角的「」号选择「New repository」填写仓库名称如my-first-project选择公开Public或私有Private不要勾选「Initialize this repository with a README」点击「Create repository」第二步在本地初始化 Git 仓库# 进入你的项目文件夹cd/path/to/your/project# 初始化 Git 仓库gitinit# 添加所有文件到暂存区gitadd.# 提交到本地仓库gitcommit-m第一次提交初始化项目第三步关联远程仓库并推送# 关联远程仓库把下面的地址换成你自己的gitremoteaddorigin https://github.com/你的用户名/my-first-project.git# 推送到远程仓库gitpush-uorigin main新手注意第一次推送时可能会弹出登录窗口输入你的 GitHub/Gitee 账号密码即可。如果提示密码验证失败需要改用 Personal Access Token个人访问令牌具体方法见文末的「新手注意事项」。④ 代码下载从远程仓库克隆项目到本地克隆别人的项目# 克隆到当前目录gitclone https://github.com/用户名/仓库名.git# 克隆到指定文件夹gitclone https://github.com/用户名/仓库名.git 我的文件夹拉取自己的项目如果你换了电脑或者想在其他地方继续工作# 克隆自己的仓库gitclone https://github.com/你的用户名/my-first-project.git# 进入项目目录cdmy-first-project⑤ 代码更新日常开发流程场景一修改文件后提交# 1. 查看当前状态看看改了哪些文件gitstatus# 2. 添加修改的文件到暂存区gitadd文件名.py# 添加单个文件gitadd.# 添加所有修改的文件# 3. 提交到本地仓库gitcommit-m修复了登录功能的bug# 4. 推送到远程仓库gitpush场景二拉取远程最新代码在开始工作前或者提交前先拉取远程的最新代码# 拉取远程最新代码并自动合并gitpull场景三查看提交历史# 查看提交历史简洁版gitlog--oneline# 查看提交历史详细版gitlog# 查看某个文件的修改历史gitlog--oneline文件名.py⑥ 代码备份保护你的劳动成果方法一推送到远程仓库最推荐# 每天工作结束前执行gitadd.gitcommit-m日常备份2024-01-15gitpush方法二创建标签标记重要版本# 创建标签gittag v1.0.0# 推送标签到远程gitpush origin v1.0.0# 查看所有标签gittag方法三创建分支实验性修改# 创建并切换到新分支gitcheckout-b实验性功能# 在新分支上修改代码# ... 修改文件 ...# 提交修改gitadd.gitcommit-m实验性功能添加了AI推荐算法# 切换回主分支gitcheckout main# 合并实验分支到主分支gitmerge 实验性功能⑦ 新手注意事项必看1. 不要提交敏感信息❌ 不要把密码、API密钥、私钥提交到Git✅ 使用.gitignore文件忽略敏感文件示例.gitignore文件内容# 忽略配置文件 config.json .env # 忽略编译产物 __pycache__/ *.pyc node_modules/ # 忽略系统文件 .DS_Store Thumbs.db2. 提交信息要写清楚❌git commit -m 修改太模糊✅git commit -m 修复用户登录时密码验证失败的bug✅git commit -m 新增文章详情页的点赞功能3. 养成先拉后推的习惯# 正确的提交顺序gitpull# 先拉取最新代码gitadd.# 再添加修改gitcommit-mxxx# 提交gitpush# 最后推送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手动选择保留哪个版本或者合并两者删除、、这些标记保存文件然后gitadd冲突文件gitcommit-m解决合并冲突gitpush7. Git 日常开发标准流程图下面是日常开发从修改代码到推送的完整流程包含冲突处理分支是否无冲突有冲突开始开发git pull拉取最新代码拉取成功修改代码解决网络/权限问题重新 git pullgit add .添加修改到暂存区git commit -m 描述信息提交到本地仓库git pull再次拉取检查远程更新有冲突git push推送到远程仓库打开冲突文件手动解决冲突删除冲突标记保留正确代码git add 冲突文件git commit -m 解决合并冲突推送成功 ✅流程说明先拉后改每次开发前先git pull确保基于最新代码工作小步提交每次修改后及时git addgit commit提交信息写清楚推前再拉推送前再git pull一次避免远程有新提交导致推送失败冲突不可怕遇到冲突时按标记手动合并解决后重新提交推送即可⑧ 常见问题与排查1.git push提示「Permission denied」这是新手最常遇到的推送失败问题通常有以下几种原因原因一SSH 密钥未配置或未添加如果你使用 SSH 协议克隆仓库但本地没有生成 SSH 公钥或者公钥没有添加到 GitHub/Gitee 账户中。解决方法# 1. 检查是否已有 SSH 密钥ls-al~/.ssh# 2. 如果没有生成新的 SSH 密钥一路回车即可ssh-keygen-ted25519-Cyour_emailexample.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 gitgithub.com:用户名/仓库名.git原因三没有推送权限如果你尝试推送到别人的仓库或者仓库设置了分支保护规则。解决方法确认你是否有该仓库的写入权限如果是别人的项目先 Fork 到自己账户再推送到自己的 Fork如果是受保护分支如main先推送到其他分支再提 Pull Request2.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. 暂存当前本地修改工作区会恢复干净gitstash# 2. 拉取远程最新代码gitpull# 3. 恢复之前暂存的修改gitstash pop如果恢复时出现冲突手动解决冲突后提交即可。其他可选方案如果本地修改不重要直接丢弃git checkout -- 文件名⚠️ 不可恢复如果本地修改已完成先提交再拉取git add .→git commit -m xxx→git pull3. 误提交了敏感信息如何从 Git 历史中彻底移除⚠️重要警告以下操作会重写 Git 历史影响所有协作者。如果仓库有其他人使用请务必提前通知并协调好操作时间。操作后所有协作者需要重新克隆仓库。方法一使用git filter-branchGit 内置# 从所有分支和历史中移除包含敏感信息的文件gitfilter-branch--force--index-filter\git rm --cached --ignore-unmatch 敏感文件路径\--prune-empty --tag-name-filtercat----all方法二使用 BFG Repo-Cleaner更简单快速BFG 是专门为清理 Git 历史设计的工具比filter-branch快 10-100 倍。# 1. 下载 BFG需要 Java 环境# 2. 将敏感文件内容替换为 ***REMOVED***java-jarbfg.jar --replace-text passwords.txt my-repo.git# 或者直接删除特定文件java-jarbfg.jar --delete-files config.json my-repo.git操作后的收尾工作# 强制推送到远程会覆盖历史谨慎操作gitpush origin--force--all# 通知所有协作者重新克隆仓库# 旧仓库需要删除后重新 clone预防措施比事后清理更重要使用.gitignore提前忽略敏感文件提交前用git status检查即将提交的文件考虑使用git-secrets等工具自动扫描敏感信息
【侄女零基础升级打怪】Vibe Coding氛围编程 AI编程之Git代码版本管理:本地部署与调用实战指南
发布时间:2026/6/7 1:39:09
① 新手必读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/Debiansudoaptupdatesudoaptinstallgit-y# CentOS/RHEL/Fedorasudoyuminstallgit-y初次配置所有系统都要做安装完成后打开命令行终端依次输入以下命令配置你的身份信息# 设置用户名用你的 GitHub/Gitee 用户名gitconfig--globaluser.name你的名字# 设置邮箱用你注册 GitHub/Gitee 的邮箱gitconfig--globaluser.email你的邮箱example.com# 设置默认分支名为 main新项目推荐gitconfig--globalinit.defaultBranch main配置完成后可以用以下命令查看配置是否生效gitconfig--global--list③ 代码上传把本地项目推送到远程仓库第一步在 GitHub/Gitee 上创建仓库登录 GitHubhttps://github.com或 Giteehttps://gitee.com点击右上角的「」号选择「New repository」填写仓库名称如my-first-project选择公开Public或私有Private不要勾选「Initialize this repository with a README」点击「Create repository」第二步在本地初始化 Git 仓库# 进入你的项目文件夹cd/path/to/your/project# 初始化 Git 仓库gitinit# 添加所有文件到暂存区gitadd.# 提交到本地仓库gitcommit-m第一次提交初始化项目第三步关联远程仓库并推送# 关联远程仓库把下面的地址换成你自己的gitremoteaddorigin https://github.com/你的用户名/my-first-project.git# 推送到远程仓库gitpush-uorigin main新手注意第一次推送时可能会弹出登录窗口输入你的 GitHub/Gitee 账号密码即可。如果提示密码验证失败需要改用 Personal Access Token个人访问令牌具体方法见文末的「新手注意事项」。④ 代码下载从远程仓库克隆项目到本地克隆别人的项目# 克隆到当前目录gitclone https://github.com/用户名/仓库名.git# 克隆到指定文件夹gitclone https://github.com/用户名/仓库名.git 我的文件夹拉取自己的项目如果你换了电脑或者想在其他地方继续工作# 克隆自己的仓库gitclone https://github.com/你的用户名/my-first-project.git# 进入项目目录cdmy-first-project⑤ 代码更新日常开发流程场景一修改文件后提交# 1. 查看当前状态看看改了哪些文件gitstatus# 2. 添加修改的文件到暂存区gitadd文件名.py# 添加单个文件gitadd.# 添加所有修改的文件# 3. 提交到本地仓库gitcommit-m修复了登录功能的bug# 4. 推送到远程仓库gitpush场景二拉取远程最新代码在开始工作前或者提交前先拉取远程的最新代码# 拉取远程最新代码并自动合并gitpull场景三查看提交历史# 查看提交历史简洁版gitlog--oneline# 查看提交历史详细版gitlog# 查看某个文件的修改历史gitlog--oneline文件名.py⑥ 代码备份保护你的劳动成果方法一推送到远程仓库最推荐# 每天工作结束前执行gitadd.gitcommit-m日常备份2024-01-15gitpush方法二创建标签标记重要版本# 创建标签gittag v1.0.0# 推送标签到远程gitpush origin v1.0.0# 查看所有标签gittag方法三创建分支实验性修改# 创建并切换到新分支gitcheckout-b实验性功能# 在新分支上修改代码# ... 修改文件 ...# 提交修改gitadd.gitcommit-m实验性功能添加了AI推荐算法# 切换回主分支gitcheckout main# 合并实验分支到主分支gitmerge 实验性功能⑦ 新手注意事项必看1. 不要提交敏感信息❌ 不要把密码、API密钥、私钥提交到Git✅ 使用.gitignore文件忽略敏感文件示例.gitignore文件内容# 忽略配置文件 config.json .env # 忽略编译产物 __pycache__/ *.pyc node_modules/ # 忽略系统文件 .DS_Store Thumbs.db2. 提交信息要写清楚❌git commit -m 修改太模糊✅git commit -m 修复用户登录时密码验证失败的bug✅git commit -m 新增文章详情页的点赞功能3. 养成先拉后推的习惯# 正确的提交顺序gitpull# 先拉取最新代码gitadd.# 再添加修改gitcommit-mxxx# 提交gitpush# 最后推送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手动选择保留哪个版本或者合并两者删除、、这些标记保存文件然后gitadd冲突文件gitcommit-m解决合并冲突gitpush7. Git 日常开发标准流程图下面是日常开发从修改代码到推送的完整流程包含冲突处理分支是否无冲突有冲突开始开发git pull拉取最新代码拉取成功修改代码解决网络/权限问题重新 git pullgit add .添加修改到暂存区git commit -m 描述信息提交到本地仓库git pull再次拉取检查远程更新有冲突git push推送到远程仓库打开冲突文件手动解决冲突删除冲突标记保留正确代码git add 冲突文件git commit -m 解决合并冲突推送成功 ✅流程说明先拉后改每次开发前先git pull确保基于最新代码工作小步提交每次修改后及时git addgit commit提交信息写清楚推前再拉推送前再git pull一次避免远程有新提交导致推送失败冲突不可怕遇到冲突时按标记手动合并解决后重新提交推送即可⑧ 常见问题与排查1.git push提示「Permission denied」这是新手最常遇到的推送失败问题通常有以下几种原因原因一SSH 密钥未配置或未添加如果你使用 SSH 协议克隆仓库但本地没有生成 SSH 公钥或者公钥没有添加到 GitHub/Gitee 账户中。解决方法# 1. 检查是否已有 SSH 密钥ls-al~/.ssh# 2. 如果没有生成新的 SSH 密钥一路回车即可ssh-keygen-ted25519-Cyour_emailexample.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 gitgithub.com:用户名/仓库名.git原因三没有推送权限如果你尝试推送到别人的仓库或者仓库设置了分支保护规则。解决方法确认你是否有该仓库的写入权限如果是别人的项目先 Fork 到自己账户再推送到自己的 Fork如果是受保护分支如main先推送到其他分支再提 Pull Request2.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. 暂存当前本地修改工作区会恢复干净gitstash# 2. 拉取远程最新代码gitpull# 3. 恢复之前暂存的修改gitstash pop如果恢复时出现冲突手动解决冲突后提交即可。其他可选方案如果本地修改不重要直接丢弃git checkout -- 文件名⚠️ 不可恢复如果本地修改已完成先提交再拉取git add .→git commit -m xxx→git pull3. 误提交了敏感信息如何从 Git 历史中彻底移除⚠️重要警告以下操作会重写 Git 历史影响所有协作者。如果仓库有其他人使用请务必提前通知并协调好操作时间。操作后所有协作者需要重新克隆仓库。方法一使用git filter-branchGit 内置# 从所有分支和历史中移除包含敏感信息的文件gitfilter-branch--force--index-filter\git rm --cached --ignore-unmatch 敏感文件路径\--prune-empty --tag-name-filtercat----all方法二使用 BFG Repo-Cleaner更简单快速BFG 是专门为清理 Git 历史设计的工具比filter-branch快 10-100 倍。# 1. 下载 BFG需要 Java 环境# 2. 将敏感文件内容替换为 ***REMOVED***java-jarbfg.jar --replace-text passwords.txt my-repo.git# 或者直接删除特定文件java-jarbfg.jar --delete-files config.json my-repo.git操作后的收尾工作# 强制推送到远程会覆盖历史谨慎操作gitpush origin--force--all# 通知所有协作者重新克隆仓库# 旧仓库需要删除后重新 clone预防措施比事后清理更重要使用.gitignore提前忽略敏感文件提交前用git status检查即将提交的文件考虑使用git-secrets等工具自动扫描敏感信息