【算法工程师必备】Git 常用操作手册(Windows 版)
前言
作为 AI 算法工程师,Git 是我们管理代码、版本迭代、论文复现项目的必备工具。本文整理了从安装配置到日常开发、常见问题排查的Git 高频操作,适合在 Windows 10/11 环境下快速上手,解决 90% 以上的 Git 场景问题。
一、Git 安装与配置(首次使用必做)
1. 下载安装
前往 Git 官网 下载 Windows 版安装包,一路默认安装即可。安装完成后,右键菜单会出现Git Bash Here选项,可直接打开命令行。
2. 配置用户信息
打开Git Bash,执行以下命令,配置你的 GitHub/Gitee 账号信息:
# 配置用户名(与你的平台账号名一致)gitconfig--globaluser.name"你的用户名"# 配置邮箱(与你的平台注册邮箱一致)gitconfig--globaluser.email"你的邮箱@xxx.com"3. 查看配置信息
gitconfig--list二、本地仓库基础操作
1. 初始化仓库
在你的项目根目录,右键打开Git Bash Here:
gitinit执行后会生成.git隐藏文件夹,代表仓库初始化完成。
2. 查看仓库状态
gitstatusUntracked files:未被 Git 追踪的文件Changes to be committed:已暂存,等待提交的文件
3. 添加文件到暂存区
# 添加单个文件gitadd文件名.py# 添加指定文件夹gitadd项目文件夹/# 添加所有未追踪文件(常用)gitadd.4. 提交文件到本地仓库
# -m 后为提交说明,必须填写,建议清晰描述本次修改gitcommit-m"feat: 新增SRCNN超分项目"三、远程仓库关联与推送
1. 关联远程仓库
先复制你的 GitHub/Gitee 仓库地址(HTTPS 或 SSH),执行:
# 关联远程仓库(HTTPS 方式)gitremoteaddorigin https://github.com/你的用户名/仓库名.git若提示
remote origin already exists,先执行git remote rm origin再重新关联。
2. 查看远程仓库信息
gitremote-v3. 首次推送本地代码
# 主流平台默认分支为 main,若为 master 则替换gitpush-uorigin main4. 后续提交推送
# 1. 本地修改后,重复 add/commit 步骤gitadd.gitcommit-m"fix: 修复SRCNN训练loss异常问题"# 2. 直接推送(无需指定分支)gitpush5. 拉取远程最新代码
gitpull origin main--rebase--rebase可以避免生成多余的合并提交,保持提交历史整洁。
四、分支管理(多人协作/多项目必备)
1. 查看本地分支
gitbranch2. 创建并切换到新分支
# 创建并切换分支(以新增项目为例)gitcheckout-bfeature/srcnn-superresolution3. 切换分支
gitcheckout main4. 合并分支到主分支
# 1. 先切换到主分支gitcheckout main# 2. 合并功能分支gitmerge feature/srcnn-superresolution5. 删除本地分支
gitbranch-dfeature/srcnn-superresolution五、常见问题与解决方案
问题 1:HTTPS 推送失败Recv failure: Connection was reset
原因:国内网络访问 GitHub 不稳定,连接被重置。
解决方案:
# 方案1:强制使用 openssl 后端gitconfig--globalhttp.sslBackend"openssl"# 方案2:切换为国内镜像地址gitremote set-url origin https://github.com.cnpmjs.org/chen6561/Diffusion-AIGC.git# 方案3:使用 SSH 方式(推荐长期使用)# 1. 生成 SSH 密钥ssh-keygen-trsa# 2. 将公钥添加到 GitHub 设置中# 3. 切换远程地址gitremote set-url origin git@github.com:chen6561/Diffusion-AIGC.git问题 2:本地文件已 add/commit,但网页端看不到
原因:未执行git push,代码还停留在本地仓库。
解决方案:
# 查看当前分支gitbranch# 推送到对应分支gitpush origin main问题 3:提交后想撤销修改
# 撤销 add 操作(文件回到未追踪状态)gitreset HEAD 文件名.py# 撤销最近一次 commit(保留修改)gitreset--softHEAD~1# 强制回退到上一个版本(慎用!会丢失修改)gitreset--hardHEAD~1问题 4:Git 中文文件名乱码
# 配置 Git 支持中文gitconfig--globalcore.quotepathfalsegitconfig--globalgui.encoding utf-8gitconfig--globali18n.commit.encoding utf-8gitconfig--globali18n.logoutputencoding utf-8六、Git 操作速查清单
| 场景 | 命令 |
|---|---|
| 初始化仓库 | git init |
| 查看状态 | git status |
| 添加文件 | git add . |
| 提交文件 | git commit -m "说明" |
| 关联远程 | git remote add origin 地址 |
| 推送代码 | git push origin main |
| 拉取代码 | git pull origin main --rebase |
| 创建分支 | git checkout -b 分支名 |
| 合并分支 | git merge 分支名 |
结语
Git 是算法工程师的基础工具,熟练掌握这些操作,能让你的代码管理、论文复现项目更加规范高效。建议收藏本文,遇到问题随时查阅。
