最近我从 MYSY2 安装了 Git,以改进我使用的 Python 库,但是在克隆它并提交我所做的更改后,当我尝试推送它时 - Git 询问我的 GitHub 用户名,但它没有实际上,当它执行此操作时,让我输入任何内容,我实际上无法通过键盘或其他方式输入任何文本,它只是不会排除任何文本!并在需要我输入某些内容时这样做。 当我使用 MYSY2 Bash 终端或 Windows 命令提示符时会发生这种情况
我使用的是 Windows 10。
[USER]@DESKTOP-D8JQH20 MSYS ~
$ cd /c/Users/[USER]/OneDrive/Documents/test1/TkinterWeb
[USER]@DESKTOP-D8JQH20 MSYS /c/Users/[USER]/OneDrive/Documents/test1/TkinterWeb
$ git status
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: tkinterweb/tkhtml/win_amd64/Tkhtml30.dll
modified: tkinterweb/tkhtml/win_amd64/pkgIndex.tcl
Untracked files:
(use "git add <file>..." to include in what will be committed)
tkinterweb.egg-info/
tkinterweb/__pycache__/
tkinterweb/tkhtml/win_amd64/Tkhtml30g.dll
no changes added to commit (use "git add" and/or "git commit -a")
[USER]@DESKTOP-D8JQH20 MSYS /c/Users/[USER]/OneDrive/Documents/test1/TkinterWeb
$ git push
Username for 'https://github.com':
底部的那一行不允许我输入任何文本 - 如果我尝试,不会出现任何字符。
[编辑]我通过安装 Git Credential Manager 作为独立应用程序解决了这个问题。
我通常使用 SSH 而不是 HTTPS 来连接到我的 GitHub 存储库,并且没有这个问题。 它在推送时不会提示您输入密码,而是通过与已加载您的 SSH 密钥的 SSH 代理对话来对您进行身份验证。
.git/config
文件中,将 https://github.com/
更改为 [email protected]
。eval $(ssh-agent)
。ssh-add your_prive_key_file
并输入密钥的密码(如果有)。如果您不喜欢对打开的每个 shell 都执行此过程,另一个想法是将
$GIT_SSH
设置为指向 PuTTY 中的 plink.exe,并使用 PuTTY 中的 pageant.exe 来保存您的密钥。