一,Github生成ssh 密钥
前言
很多朋友在用github管理项目的时候,都是直接使用https url克隆到本地,当然也有有些人使用 SSH url 克隆到本地。然而,为什么绝大多数人会使用https url克隆呢?
这是因为,使用https url克隆对初学者来说会比较方便,复制https url 然后到 git Bash 里面直接用clone命令克隆到本地就好了。而使用 SSH url 克隆却需要在克隆之前先配置和添加好 SSH key 。
因此,如果你想要使用 SSH url 克隆的话,你必须是这个项目的拥有者。否则你是无法添加 SSH key 的。
https 和 SSH 的区别:
1、前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。
2、https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。
在 github 上添加 SSH key 的步骤:
第一步、首先,检查下自己之前有没有已经生成:
在开始菜单中打开git下的git bash(当然,在其他目录下打开git bash也是一样的):
然后执行
ls -al ~/.ssh
第二步、如果能进入到.ssh文件目录下 ,则证明,之前生成过.ssh秘钥,可以直接使用里面的秘钥。
如果不能进入到.ssh文件目录下,则:
1,检测下自己之前有没有配置:
git config user.name //github账号名
git config user.email //github填写的邮箱地址
2,如果之前没有创建,则执行以下命令:
git config -global user.name "xxxxxx" //github账号名
git config -global user.email "xxxxxx" //github填写的邮箱地址
3,然后生成新的密钥,执行一下指令:
ssh-keygen -t -rsa "github填写的邮箱地址"
如果输入上述命令不生效时,可以输入下面命令,(前提是删除.ssh文件夹)
ssh-keygen -C'邮箱地址'
代码参数含义:
-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。
4,接下来会出现下面的窗口命令)
[root@localhost ~]# ssh-keygen -t rsa <== 建立密钥对,-t代表类型,有RSA和DSA两种
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <==密钥文件默认存放位置,按Enter即可
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa. <== 生成的私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 生成的公钥
The key fingerprint is:
SHA256:K1qy928tkk1FUuzQtlZK+poeS67vIgPvHw9lQ+KNuZ4 root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| +. |
| o * . |
| . .O + |
| . *. * |
| S =+ |
| . =... |
| .oo =+o+ |
| ==o+B*o. |
| oo.=EXO. |
+----[SHA256]-----+
最后在.ssh目录下(在C盘用户文件夹下搜索.ssh)得到了两个文件:id_rsa(私有秘钥)和id_rsa.pub(公有密钥)()。
第三步、如果想登陆远端,则需要将rsa.pub里的秘钥添加到远端。
首先,去.ssh目录下找到id_rsa.pub这个文件夹打开复制全部内容。
接着:
1.登录GitHub,进入你的Settings;
2.会看到左边这些目录,点击SSH and GPG keys
3.创建New SSH key
4.粘贴你的密钥到你key输入框中
5.点击Add SSH key
6.到此,就大功告成了。
第四步 测试。
在命令窗口上输入 ssh -T ssh -T git@github.com 按回车键,如看到以下信息,那么就完美了(有些可能因为网络无法访问到,但不影响使用)。
二,gitHub上传文件
打开想上传文件,右键git bash here ,输入一下指令
git init //初始化远程仓库
git status //状态
//clear命令,清楚命令板上的数据
git add . //或者使用 git add 文件名 // 把数据添加到暂存区中
git commit -m '第一次提交' //把暂存区中的文件提交到 git 仓库
git push -u origin master //把本地库的所有内容推送到远程库上
使用远程仓库
git clone https://github.com/lvxisha/git-demo.git //克隆仓库
cd 项目名
git add .
git commit -m '提交项目备注'
git push
git pull
本地库跟远程库建立关联
git remote add origin git@github.com:Veblen007/Veblen007.github.io.git //链接远程库(后面是自己远程库的地址)
git pull origin master //传数据:
git push origin master 数据就能成功到达远程
先有本地库,后有远程库的时候,如何关联远程库。
现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。
首先,登陆GitHub,创建一个新的仓库,名字叫gitskills