Git Q&A
误输密码后一直认证失败
当 SmartGit 弹出用户名密码时,输错了密码以后不会再弹出用户名密码框而一直认证失败。这时候只要到 控制面板 -> 用户账户 -> 凭据管理器 -> Windows 凭据
里找到需要修正密码的 git 服务器,编辑修改成正确的密码即可。
在 smartgit 同步 github 工程时一直弹框要求输入用户名和密码
- 前提是有生成 ssh 密钥对了(生成密钥对的时候不要设置密码,当然如果要设置密码的话,就要记住这个密码,后续认证或者同步的时候可能需要输这个密码),然后私钥放在本地电脑的
C:\Users\Administrator\.ssh
下,公钥添加到 github 上。 - 将工程地址改成 git 开头的,不要用 HTTPS 开头的地址,这样的话 smartgit 就会使用 ssh 密钥对来同步 github 上的工程。两种方式:
- 第一种方式:在 smartgit 中右击远程分支,选择
Preferences
,将地址改成 git 开头的
这个时候 smartgit 可能会要求选择私钥文件,如果生成 ssh 密钥的时候有设置密码,就要设置密码。如果明明已经输对了密码,切换地址还是失败了,那就在 smartgit 的Edit -> Preferences -> Commands -> Authentication
里面选择User system SSH client
。 - 第二种方式:使用命令行操作
- 查看当前方式:
git remote -v
- 先移除旧的 http 的 origin:
git remote rm origin
- 再添加新的 ssh 方式的 origin:
git remote add origin git@github.com:xxx/xxx.git
- 可以再用
git remote -v
检查一下是否改变成功。 - 改完之后其实还不能同步工程,因为新的远程分支还没有绑定本地分支,可以使用
git push --set-upstream origin master
绑定,也可以在 smartgit 中操作。
- 查看当前方式:
Failed to connect to github.com port 443
开启了 VPN,网页可以打开 github,但是使用命令行从 github 上 clone 工程的时候就一直提示Failed to connect to github.com port 443: Timed
。可能是命令行在 clone 的时候并没有使用 vpn 进行代理。
1 | // 先取消代理配置 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Annie's Blog!