Git:SSH、SSH与HTTP区别、git常用命令

版权声明:可盗走 https://blog.csdn.net/liuxiaodong400/article/details/81221834

SSH


1.首先需要检查你电脑是否已经有 SSH key

cd ~/.ssh
ls

.ssh表示ssh文件是个隐藏文件
查看是否存在 id_rsa.pub 或 id_dsa.pub 文件,如果文件已经存在,那么可以跳过步骤2,直接进入步骤3。
2.创建一个 SSH key

ssh-keygen -t rsa -C "your_email@example.com"

-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。

以上代码省略了 -f 参数,因此,运行上面那条命令后会让你输入一个文件名,用于保存刚才生成的 SSH key :

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

当然,你也可以不输入文件名,使用默认文件名(推荐),那么就会生成 id_rsa 和 id_rsa.pub 两个秘钥文件。

接着又会提示你输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码),

当然,你也可以不输入密码,直接按回车。那么push的时候就不需要输入密码,直接提交到github上了:

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

接下来,就会显示如下提示信息:

Your identification has been saved in /c/Users/you/.ssh/id_rsa.
Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

当你看到上面这段代码的时候,那就说明SSH key 已经创建成功,你只需要添加到github的SSH key上就可以了。

3.添加你的 SSH key 到 github上面去

a、首先你需要拷贝 id_rsa.pub 文件的内容,使用用编辑器打开文件,复制内容,(注意仅复制文本,不能多空格或者回车):

gedit ~/.ssh/id_rsa.pub

b、登录你的github账号,从右上角的设置Settings 进入,然后点击Personal setting 中的SSH and GPG keys,点击New SSH key,把复制的 SSH key 代码粘贴到对应的输入框中,记得 SSH key 代码的前后不要留有空格或者回车。输入别名,默认使用邮箱。

4.测试一下该SSH key

在git Bash 中输入以下代码

ssh -T git@github.com

当你输入以上代码时,会有一段警告代码,如:

The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

这是正常的,你输入 yes 回车既可。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如:

Enter passphrase for key ‘/c/Users/Administrator/.ssh/id_rsa’:

当然如果你密码输错了,会再要求你输入,知道对了为止。

注意:输入密码时如果输错一个字就会不正确,使用删除键是无法更正的。

密码正确后你会看到下面这段话:

Hi #######! You’ve successfully authenticated, but GitHub does notprovide shell access.

这时表示配置成功,这时就可以在本地通过SSH的方式去clone或fetch等了。

SSH链接为:git@github.com:username/project.git

SSH与HTTP区别


1.clone项目:使用ssh方式时,首先你必须是该项目的管理者或拥有者,并且需要配置个人的ssh key。而对于使用https方式来讲,就没有这些要求。

2.push:在使用ssh方式时,是不需要验证用户名和密码,如果你在配置ssh key时设置了密码,则仅需要验证配对密码。而对于使用https方式来讲,每次push都需要验证用户名和密码。

SSH方法上传(http方式类同)

上传代码前需要先搞清楚git管理代码的机制,如下图所示
这里写图片描述
其中:

名称 解释
Workspace 工作区
Index / Stage 暂存区
Repository 仓库区(或本地仓库)
Remote 远程仓库

步骤:
1.在workspace添加git配置文件

git init

2.添加要上传的代码及文件至Index

git add README.md

3.提交代码至Repository

git commit -m "first commit"

4.添加远程仓库(Remote)名及路径

git remote add origin git@github.com:username/test.git

5.push,即上传(Repository)代码至远程仓库保存(Remote)

git push -u origin master

这里origin为远程仓库名 master为分支

常用命令


1.使用命令 git remote -v 查看你当前的 remote url

git remote -v

2.使用命令 git remote set-url 来调整远程url,可以为http方式和SSH方式,下面为SSH方式:

git remote set-url origin git@github.com:username/project.git

3.添加当前目录的所有文件到暂存区

git add .

更多的命令请查看本人的另一篇博客

展开阅读全文

没有更多推荐了,返回首页