目 录CONTENT

文章目录

开发环境工程化:Windows 与 WSL 共用 Gitea Access Token 认证实战

DevWiki
2026-04-28 / 0 评论 / 0 点赞 / 16 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1. 背景概要

在日常开发中,频繁输入 Git 账号密码不仅效率低下,且在 Windows 与 WSL 混合开发环境下,重复配置两套凭据往往会导致同步失效或冲突。

本篇博文将分享如何通过 HTTPS + Access Token 模式,实现一套凭据在 Windows 与 WSL 间无缝共用。核心逻辑在于利用 Git 的 credential helper 机制,将 Windows 端的凭据管理器(GCM)作为统一的存储后端 。


2. Gitea 端配置:生成 Access Token

为了安全性与管理的便捷,建议使用 Token 替代原始账号密码 。

  1. 路径:登录 Gitea -> 用户头像 -> Settings -> Applications
  2. 生成:在 Generate New Token 处填写名称(如 dev-machine-cli)。
  3. 权限控制:勾选 repo(读写仓库权限)即可。
  4. 保存:⚠️ 注意:Token 仅显示一次,请立即存入你的密码管理器。

验证 Token 有效性:

Bash

curl -u 用户名:你的Token https://git.devwiki.net/api/v1/user

3. 客户端环境清理

在配置新机制前,必须确保旧的凭据缓存已被彻底清除,否则会触发 403 错误。

3.1 Windows 端

  • 物理删除:执行 del %USERPROFILE%\.git-credentials
  • 凭据管理器:进入“控制面板 -> 用户帐户 -> 凭据管理器”,删除所有 git:https://git.devwiki.net 相关的记录。

3.2 Linux / WSL 端

Bash

rm -f ~/.git-credentials
git credential-cache exit

4. 统一凭据存储配置(核心步骤)

4.1 Windows 端配置

直接调用 Windows 原生的凭据管理器(GCM):

Bash

git config --global credential.helper manager-core

4.2 WSL 端配置(跨环境共用 ⭐)

这是实现“一次登录,全环境通行”的关键。通过在 WSL 中直接调用 Windows 的 .exe 程序,实现凭据共享 。

Bash

# 关键指令:路径必须使用单引号包裹,且开头带有 '!'
git config --global credential.helper '!"/mnt/c/Program Files/Git/mingw64/bin/git-credential-manager-core.exe"'

🔍 避坑点拨:

  1. 必须加 !:告诉 Git 这是一个外部的可执行程序。
  2. 路径转义:如果你的 Git 安装路径不同,请通过 ls "/mnt/c/Program Files/Git/" -R | grep credential-manager 确认 .exe 的准确位置。

5. 首次认证与验证

配置完成后,在任一终端(Windows 或 WSL)执行 git pull

  • Username: 填写 Gitea 用户名。
  • Password: 填写上文生成的 Access Token(切记不是登录密码)。

认证成功后,Token 将持久化存储在 Windows 凭据管理器中,后续所有操作均可实现免密认证 。


6. 常见问题排查(避坑指南)

根据博主实战踩坑经验,如遇异常请按以下顺序排查:

  1. 403 Forbidden:通常是 Token 权限不足或本地旧凭据未删干净。尝试执行 git credential-manager erase 重置。

  2. Command not found (WSL):检查 git-credential-manager-core.exe 路径是否正确。

  3. 内网证书问题:如果是内网私有化部署且未配置合法证书,可临时关闭校验(不推荐长期使用):

    Bash

    git config --global http.sslVerify false
    
  4. 多账号冲突:如果该服务器有多个 Gitea 账号,需开启路径感知:

    Bash

    git config --global credential.useHttpPath true
    

7. 总结

通过 HTTPS + Access Token 配合 GCM 的方案,我们不仅规避了明文存储密码的风险,还打通了 Windows 与 Linux 子系统之间的认证壁垒 。


配置推荐表

环境 推荐 Helper 模式 存储安全性
Windows manager-core 高(系统级加密)
WSL (推荐) 调用 Windows GCM 高(全环境共用)
独立 Linux libsecret 中(需 GUI 环境支持)
CI/CD 环境 store 低(明文存储,仅建议临时使用)
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
博主关闭了所有页面的评论