SSH(安全外壳协议,Secure Shell 的缩写)是建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。简单来说,SSH就是保障你的账户安全,将你的数据加密压缩,不仅防止其他人截获你的数据,还能加快传输速度。如果想详细了解的话,可以看这篇文章:详述 SSH 的原理及其应用-CSDN 下面就详细介绍如何绑定GitHub和提交文件。

绑定GitHub配置SSH

我们要用git上传文件到GitHub首先得利用SSH登录远程主机,而登录方式有两种:一种是口令登录;另一种是公钥登录。口令登录每次都要输入密码十分麻烦,而公钥登录就省去了输入密码的步骤,所以我们选择公钥授权。首先我们得在 GitHub 上添加 SSH key 配置,要想生成SSH key,就要先安装 SSH,不过我们安装了 Git Bash,其应该自带了 SSH。检验一下是否安装 SSH,我们在新建的文件夹中右键打开 Git Bash:输入ssh查看是否安装SSH
alt text
如上图所示,即已安装 SSH. 然后,输入 ssh-keygen -t rsa 命令(注意空格),表示我们指定 RSA 算法生成密钥,然后敲四次回车键,之后就就会生成两个文件,分别为秘钥 id_rsa 和公钥 id_rsa.pub.
文件的位置在 Git Bash 上面都有显示,默认生成在以下目录:

  • Linux 系统:~/.ssh
  • Mac 系统:~/.ssh
  • Windows 10 :C:/Users/ASUS/.ssh

接下来我们要做的事情就是把公钥 id_rsa.pub 的内容添加到 GitHub。复制公钥 id_rsa.pub 文件里的内容,你可以通过目录找到 id_rsa.pub 文件的位置

mag1code@zhanghaoyangdeMacBook-Air .ssh % ls
id_rsa id_rsa.pub known_hosts known_hosts.old
mag1code@zhanghaoyangdeMacBook-Air .ssh % vim id_rsa.pub

之后在GitHub中通过 NEW SSH KEY将key复制过去

验证是否成功:我们可以通过在 Git Bash 中输入 ssh -T git@github.com 进行检验:

mag1code@zhanghaoyangdeMacBook-Air .ssh % ssh -T git@github.com
Hi Mag1code! You've successfully authenticated, but GitHub does not provide shell access.

支持链接GitHub已完成

下载和提交文件

提交文件有两种方法:

  • 第一种:本地没有 git 仓库
    直接将远程仓库 clone 到本地;
    将文件添加并 commit 到本地仓库;
    将本地仓库的内容push到远程仓库。
  • 第二种:本地有 Git 仓库,并且我们已经进行了多次 commit 操作
    建立一个本地仓库进入,init 初始化;
    关联远程仓库;
    同步远程仓库和本地仓库;
    将文件添加提交到本地仓库;
    将本地仓库的内容 push 到远程仓库

第一种:本地没有项目
首先进入 GitHub主页,找到一个项目并点击clone复制下载地址或SSH后通过git clone本地克隆远程仓库
git clone git@github.com:Mag1code/holiday-ai-genie.git
这样远程仓库就我们下载到本地了。
后面如果我们在本地修改文件后想提交到GitHub远程仓库的话需要首先通过
git add .
将修改的内容添加到缓冲区,再通过
git commit -m “注释内容”
将其提交到本地仓库,如果没有问题的话想提交到远程仓库需要
git push origin main
origin是远程主机的名字

第二种:本地有项目,想更新最新的远程仓库代码
首先到项目文件夹通过git initgit初始化仓库
接着需要关联到一个我们想要的远程仓库,通过:
git remote add origin https://github.com/fengye97/text.git
之后将远程代码pull下来到本地就可以了
git pull origin main
后续如果本地修改代码想要提交上去就跟第一种后面的步骤一样了。
此外也可以通过git fetch的方式拉取最新代码,并且这样不会自动merge代码,比较安全。但当fetch后还需要确认改动后git merge一下