好惭愧,最近才开始正式的使用git,在前面的博文中,有记录过相关的笔记,但仅限于一些基本的概念和操作上,这里记当录下在使用过程中碰到的问题。
什么是SSH key:
在使用GIT与远程的服务器进行连接的时候,需要生成一个SSH key,他用于在你的计算机和远程服务器(gitlab,github....)建立一个
“安全的连接"(secure connection),这样你每次连接的时候,都不需要输入用户名密码,而且他比单纯的用户名密码机制更加的安全。
如何生成SSH key?
(这里我参考gitlab上的一篇指南)
在生成之前,我们要先看看系统 是不是已经生成过SSH key了,在控制台输入:
cat ~/.ssh/id_rsa.pub
如果你看到了一个很长的字符串,以ssh-rsa or ssh-dsa开头的,就说明你已经生成过了,就可以跳过这一步。
如果没有,你就需要去生成一个SSH key,打开git控制台,输入以下命令:
ssh-keygen -t rsa -C "xxx@xxx.com"
控制台会提示你指定路径和密码,可以直接按Enter回车键,默认选项。最好还是创建一个密码,这个密码
是不可以修改,不可找回的。所以一定要记住。
生成以后,使用上面的命令:
cat ~/.ssh/id_rsa.pub
来显示你的SSH key.
拷贝SSH key并部署(deploy)到你的profile中,从ssh-rsa开始到username+host结束,可以直接使用命令行,将
SSH key拷贝到剪切板:
windows:
clip < ~/.ssh/id_rsa.pub
Mac:
pbcopy < ~/.ssh/id_rsa.pub
GNU/Linux (requires xclip):
xclip -sel clip < ~/.ssh/id_rsa.pub
这样就可以啦!
有哪些工具可以使用git?
最开始都是用的git原生控制台,但是太低效了,总是要在各种命令之间切换,而且非图形化的东西看起来不够直观,但对于初学的我来说,通过git原生的形式,有助于自己更好的理解。
git有自己的GUI工具,但据说功能不多,不能很好的解决冲突问题,我没有具体尝试过,这里我最近接触到的就两款 :
1.TortoiseGit:
使用过SVN的,必须都知道这个,这是一位同事推荐的,但是这里无法直接使用SSH key,会报下面这样的错误:
git Couldn't load this key (OpenSSH SSH-2 private key)
有说修改成ssh.exe就可以了,但我这里尝试没有效果,还是传统的方法,需要通过puTTY进行转换成xxx.ppk,并在clone界面,进行配置,具体参见网址:
https://blog.csdn.net/weixin_42709585/article/details/81068100
生成以后,配置进来就可以了。
2.SourceTree
这款才是真正意义上的图形化git工具了,非常的直观,方便,使用起来也很简单,第一次使用要登录帐号,网上有贴子,修改配置文件可以直接跳过,配置如下:
在选项中,在Load Putty Key下,将生成的ppk文件放进去就好了。
注:
如果是在gitlab中使用,那么,你还需要将生成的SSH key 配置在gitlab的后台才可以。
就这么多,赶紧合并代码了!
(“年轻人” 镇楼)