windows下git的配置

2017-05-11  本文已影响0人  huangzhihao

1. 使用git客户端

我下载的是这个https://git-for-windows.github.io/

打开shell客户端,输入git命令,如下所示。

huangzhihao@G8WFWB2 MINGW64 ~

$ git

usage: git [--version] [--help] [-C] [-c name=value]          [--exec-path[=]] [--html-path] [--man-path] [--info-path]          [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]          [--git-dir=] [--work-tree=] [--namespace=][]

2.如何配置git选项

linux下git配置文件位于home目录下, 文件名为.gitconfig。

对应的windows的配置文件位于C:\Users\huangzhihao目录下,后面那个是当前的用户名。文件名也是.gitconfig.

3.sshkey的生成和添加

与linux上一样。

4. 疑难问题

Unable to negotiate with 10.140.70.24 port 29418: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

这个问题在linux下的解决方式是修改ssh的配置文件,该文件路径为~/.ssh/config.

打开文件后类似如下所示,在hostname后面添加KexAlgorithms +diffie-hellman-group1-sha1,重新连接后成功。

Host 10.120.0.70

    Hostname 10.120.0.70

    KexAlgorithms +diffie-hellman-group1-sha1

参照这个思路,尝试修改windows对应目录下的配置文件。windows中ssh的文件夹路径为C:\Users\huangzhihao\.ssh\。打开后发现没有config文件,添加一个config文件并添加如上的内容后,发现没有效果。

应该是配置方式不对,参考http://stackoverflow.com/questions/7772190/passing-ssh-options-to-git-clone所说,配置全局命令可以输入类似命令

git config --global core.sshCommand ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no

参照这个后,输入命令行

git config --global core.sshcommand ssh -o KexAlgorithms=+diffie-hellman-group1-sha1
下面给出了git的help提示,应该是命令格式有误。加上双引号,再试一次。

git config --global core.sshcommand "ssh -o KexAlgorithms=+diffie-hellman-group1-sha1"

没有错误提示,然后重新调用git clone命令,git clone ssh://huangzhihao@xxx.devops.xxx.com:29418/project/path/

连接成功!

再次打开C:\Users\huangzhihao\.gitconfig, 我们会发现增加了如下内容

[core]

    sshcommand = ssh -o KexAlgorithms=+diffie-hellman-group1-sha1

所以,也可以直接在.gitconfig文件中按照以上格式来添加配置选项。

git配置选项可以参考https://git-scm.com/docs/git-config

上一篇下一篇

猜你喜欢

热点阅读