Git学习:(二)远程仓库的管理

为了将本地仓库备份到Github上的远程仓库,实现文件备份和多机协同工作的功能则需要了解远程仓库的管理。

一、生成SSH Key

  • SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。简单说,SSH是一种网络协议,用于计算机之间的加密登录。

  • 其次,SSH key提供了一种与GitHub通信的方式,实现本地git仓库到github上远程仓库的安全传输。通过SSH Key,能够在不输入密码的情况下,将GitHub作为自己的远程服务器,进行版本控制。
1.检查SSH key是否存在于本机
  • 在linux或者windows的的用户目录下查看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到步骤3
2.生成新的SSH key
  • 打开Shell(Windows下打开Git Bash),创建SSH Key。
ssh-keygen -t rsa -C "youremail@example.com"
youremail@example.com:

注:网上有部分博客说邮箱要填自己的github注册邮箱,其实是扯淡。因为-C 后面的内容指的是该密钥是注释内容,也就是可选操作,所以邮箱填不填都是无所谓的。


之后一直回车就ok,然后可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

3.将SSH Key添加到GitHub中

打开github页面上的“Account settings”,“SSH Keys”选项,选择“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容即可。
注:如果需要实现多台机器都快对github上的远程仓库实现git托管,则需要将这些机器的公钥都添加到github中。

4.测试SSH Key是否成功

使用命令“ssh -T git@github.com”,如果出现You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。

二、远程仓库的添加(先有本地库后有远程仓库的情况)

在GitHub上创建远程仓库,既可以用作本地Git仓库的备份,还可以作为一个远程仓库,实现多人协同办公的功能。
1.在GitHub上创建一个空的仓库
2.本地仓库与远程仓库关联

  • 空仓库创建好后,可以从这个仓库克隆出新的仓库到本地然后与之关联。

  • 本地有文件的仓库与github上的远程仓库关联,然后将本地Git仓库的文件推到github上。

打开Shell(Windows下打开Git Bash),进入到本地Git仓库所在路径,然后使用以下命令使其与GitHub上的远程仓库关联。
方式一

git remote add origin https://github.com/用户名/远程仓库名.git

方式二

git remote add origin git@github.com:用户名/远程仓库名.git
  • 用户名填写自己的GitHub账户名,远程仓库名为刚刚自己创建的仓库的名称。
  • https://github.com/用户名/远程仓库名.git表示的使远程仓库的地址。

添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

3.本地仓库的所有文件推送到github远程仓库上

git push -u origin master

后续使用过程中如果提交更新的文件需要推送到远程仓库,则使用git push origin master即可。

备注

当第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告。这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。
确认方式:输入yes前可以对照GitHub的RSA Key的指纹信息是否与SSH连接给出的一致。

Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了。

三、先有远程仓库后有本地仓库的情况,使用克隆方式

从零开发,那么最好的方式是先创建远程库,然后克隆远程仓库到本地。
1.在本地创建一个文件夹,进入该文件的路径
注:不必新建一个空的Git仓库,然后从远程仓库克隆。
2.使用如下指令克隆远程仓库
方式1:

git clone git@github.com:用户名/远程仓库名称.git

方式2:

git clone https://github.com/用户名/远程仓库名.git

两种方式都可以,这是因为git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。
使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https。

参考资料:

廖雪峰官网教程。
SSH介绍和使用,SSH key教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还是少年呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值