评论

收藏

Git使用教程(2):Git远程仓库

网络安全 网络安全 发布于:2021-07-17 15:58 | 阅读数:391 | 评论:0

道阻且长,行则将至。埋头苦干,不鸣则已,一鸣惊人!加油,骚年!
1 git远程仓库的创建  git 的远程仓库,其实就是 GitHub ,在使用 git 之前,我们就应该有了 GitHub 的账号,如果还没有的话,可以直接去官网注册。
  创建远程仓库的步骤也很简单,在个人主页,直接点击 New 即可,如下图:
DSC0000.png

  接下来就是填写一些基本信息等,需要注意的是:GitHub 不允许有空的仓库、或空的文件夹,如果此仓库/文件夹下没有内容,则会创建失败。
DSC0001.png

  如果不在创建仓库时,默认创建一个 ReadMe 文件,则在创建仓库成功后,还是需要创建一个文件的。
2 使用 HTTPS 协议  GitHub 给我们提供了两种方式克隆仓库,一种是 HTTPS 协议,一种是 ssh 协议。两种协议都可以,后边会简单介绍一下两种协议的区别。
  使用 HTTPS 协议时,直接进入到仓库,点击 Clone or download ,选中 Use HTTPS ,然后出现如下图界面,直接点击网址后边小按钮,即可完成复制。
DSC0002.png

  接着到本地对应文件夹下,打开 git bash ,然后使用如下命令:
git clone https://github.com/FightingBoom/MyBlog.git
注意:如果我们的仓库是空的,则在克隆时,会提示克隆了一个空仓库到本地。
  当成功克隆仓库到本地后,就可以在本地做一些相应的操作,基本过程和本地仓库一样,不过多了最后一步 git push 。把基本流程再次描述如下:
// 添加文件到缓冲区
git add filenamae
// 可选:查看当前提交状态
git status
// 提交文件到缓冲区
git commit -m "此处是版本修改说明,必须写"
// push文件到远程仓库(第一次使用可能需要登录账号密码)
// 容易受网速影响,如下图,第一次push超时
git push
  上边的步骤都是从本地提交/推送到远程仓库,那怎么从远程仓库获取内容呢?git 提供了如下命令:
git pull
  我们可以在对应路径下,使用此命令,拉去远程仓库相同路径下的所有有改变的内容。
3 使用 SSH 协议  使用 SSH 协议,就相当于把自己在使用的电脑添加到 GitHub 的白名单中,这样后续在此电脑上就可以直接操作远程 GitHub 仓库,而无需每次都要登录账号密码。
  这个方式和之前我的利用 GitHub + PicGo + Typora 搭建属于自己的图床,这篇文章中使用的方式刚好相反,不过原理都大差不差。具体操作步骤如下:

3.1 创建本地电脑SSH Key
  可同步参考廖雪峰老师的教程,点击这个传送门????:远程仓库
  在本地仓库文件夹内,打开 git bash ,然后输入如下命令,后边的是自己注册 GitHub 账号时的邮箱名。
ssh-keygen -t rsa -C "youremail@example.com"
  使用上述命令,可以一路回车,全部使用默认参数即可,当执行完毕后,可以在用户主目录下,找到 .ssh ,这个文件夹,路径参考下图:
DSC0003.png

  在此文件夹下,可以看到 id_rsa 和 id_rsa.pub 这两个文件,需要注意的是:

  • id_rsa 是私钥,不能告诉任何人;
  • id_rsa.pub 是公钥,可以告诉别人;
  接下来就要去 GitHub 上添加本地电脑的公钥,这个是一个鉴权操作,目的就是为了让 GitHub 知道,是谁在进行操作,也就相当于添加到白名单当中。
  具体步骤简要总结如下:

  • 点击个人头像,找到 Settings
  • 点击 SSH and GPG keys
  • 点击 New SSH key
  • 按照如下图示,依次添加必要的内容,即可。
DSC0004.png

DSC0005.png

  添加完毕后,就可以去复制 SSH 克隆的网址了,然后用同样的步骤在本地进行测试,如果成功推送/拉去,则 GitHub 上的公钥会变成绿颜色,并显示出来在什么时候使用的等等。
DSC0006.png

4 HTTPS 协议与 SSH 协议区别  参考廖雪峰老师的网站介绍,网址传送门:从远程库克隆,两者的区别,参考如下截图:
DSC0007.png

  所以如何选择,主要还是看自己啦,不过目前比较常用的就是 SSH 协议;
  根据老师内容,简单总结区别如下:
协议速度备注SSH协议较快一次设置,后续无需更改HTTPS协议稍慢每次推送均需要输入账号密码验证5 总结

  • 本节主要学会了两种克隆的方法,一种是 HTTPS 协议,一种是 SSH 协议;
  • 简单了解了两种协议的操作步骤,及各自的特点;
  • 关于推送提交等内容,学习不够深入;
  • 本节课推送的分支全部为 master 分支,后续需要学习多分支操作等。



关注下面的标签,发现更多相似文章