You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL终端Git推送GitHub需Personal Access Token,Git Bash无需,如何解决?

解决WSL中Git推送需输入Token的问题

原因

Git Bash能自动完成推送,是因为它默认使用Windows的凭据管理器存储了你的GitHub凭据;而WSL里的Git默认没配置关联这个凭据管理器,所以每次推送都要手动输入用户名和Token。

解决方案

方法1:配置WSL的Git使用Windows凭据管理器

在WSL终端执行以下命令,让WSL的Git调用Windows的凭据助手,复用已存储的凭据:

git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager-core.exe"

如果你的Git安装路径不同,调整上述命令里的路径即可。

方法2:在WSL中配置Git凭据缓存

如果不想依赖Windows的凭据管理器,可以配置WSL本地的凭据缓存,让Git记住你的Token:

  1. 先设置全局用户名和邮箱(未设置过的话):
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub绑定邮箱"
  1. 配置临时缓存(比如缓存1小时,即3600秒):
git config --global credential.helper 'cache --timeout=3600'

或者设置永久缓存(以Ubuntu为例,需先安装依赖工具):

sudo apt install libsecret-1-0 libsecret-1-dev
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

第一次推送输入Token后,后续操作就无需重复输入。

方法3:改用SSH连接GitHub

生成SSH密钥并添加到GitHub账户,推送时无需输入用户名和Token:

  1. 在WSL终端生成SSH密钥:
ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱"

一路回车使用默认设置即可。
2. 复制公钥内容:

cat ~/.ssh/id_ed25519.pub
  1. 登录GitHub,进入「Settings」→「SSH and GPG keys」,点击「New SSH key」,粘贴公钥内容并保存。
  2. 将仓库的远程地址从HTTPS改为SSH:
git remote set-url origin git@github.com:你的用户名/仓库名.git

之后推送即可直接完成,无需输入凭据。

内容的提问来源于stack exchange,提问作者Zubair Ansari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 04:15:01