我刚刚安装了Git For Windows,并通过 Cygwin 使用 SSH 创建了我的 SSH 密钥。它似乎是从命令行和 Git For Windows GUI 工作的,但现在我想使用 TortoiseGit。TortoiseGit 默认使用类似 Putty 的 SSH 客户端,但显然 GitHub 只接受(打开)SSH,我真的不知道如何继续。我将进行干净的 TortoiseGit 安装,我已经安装了 Cygwin 和 Git for Windows。
5 回答
最简单的方法是先安装 TortoiseGit,然后安装 msysgit,并将 SSH 客户端设置为 TortoisePLink。使用 TortoiseGit Puttykey 生成器创建一个新的密钥对,将您的公钥添加到 GitHub。
克隆/创建一个新的存储库。在您的 Tortoise 存储库设置中,设置您的全名和电子邮件。然后在 Git 配置菜单下的远程菜单中输入您的克隆 URL 并选择您的 PuTTY 密钥。GitHub 与 PuTTY 键配合得很好。我有朋友用过,我自己也用过。
1) 赛格温
使用文章Working with SSH key passphrases中描述的方法。
在 Cygwin 会话启动时将只要求输入一次密码。!!!在退出 Cygwin 会话之前不要忘记终止 ssh-agent 进程(使用 ps 查找进程 PID 并 kill -9)。
我们为 Cygwin 使用了一种单独的方法,因为 Cygwin 出于某种原因看不到在 Windows 环境中从外部启动的进程。
2, 3) MsysGit, TortoiseGit
有用的链接: http ://dogbiscuit.org/mdub/weblog/Tech/WindowsSshAgent
安装 MsysGit。安装 TortoiseGit(在安装过程中检查 openssh 而不是 plink)。!!!检查系统变量。如果存在 GIT_SSH 变量 - 将其删除。
转到TortoiseGit ->设置->常规。
将 Git EXE 路径设置为 <MsysGitHome>/bin。将外部 DLL 路径设置为 <MsysGitHome>/mingw/bin。
转到TortoiseGit ->设置->网络。将 SSH 客户端属性设置为 <MsysGitHome>/bin/ssh.exe
定义系统变量 SSH_AUTH_SOCKS=C:\temp.ssh-socket
启动 cmd.exe 并执行以下命令(因为我们安装了 MsysGit,所以可以在 cmd 中访问以下所有命令 - <MsysGit>/bin 已添加到系统 PATH 变量中):
# The following command is required to execute for avoiding an address already bind message when ssh-agen is not started yet but .ssh-socket exists after previous agent session
rm "%SSH_AUTH_SOCK%"
# Starting ssh-agent
ssh-agent -a "%SSH_AUTH_SOCK%"
# Adding our openssh key
ssh-add "%USERPROFILE%\.ssh\id_rsa"
# Type password for your key
就是这样。从那一刻起,您可以在没有提示密码的情况下从 TortoiseGit 和 MsysGit执行git push
, 。git pull
当不再需要 ssh-agent 时,您可以通过 Windows Task Manager将其杀死。
Anmol Jain 的这个解决方案非常适合我。他已经发布了适用于乌龟 git 的源代码树的解决方案。
脚步:
- 从 github 企业只需复制 https 链接即可克隆
- 在本地机器中的 tortoise git --> git clone --> 在 URL 中制作如下 http://@git.example.com/BTS/fp-pro-license.git/ORG1/spring-project.git 所以你将能够克隆
Ed Goad 的这段视频帮助了我。它展示了如何设置 PAS 令牌并为 git.exe 和 TortoiseGit 配置它。
视频中的步骤包括:
- 从 GitHub 配置文件设置创建 PAS | 开发者设置 | 个人访问令牌。
- 复制你的考绩
- 运行一些命令:
git config --global user.name 'yourUser'
git config --global user.email 'youremail@domain.com'
git clone https://location/of/repo
- “https://github.com”的用户名:
yourUser
- 'https://yourUser@github.com' 的密码:
Paste in your PAS here instead of your real password.