一、HTTPS方式

跟gitee相同,我们现在github中创建一个仓库用于演示(进入github可能要翻墙,也可以是用加速器,比如watt),然后获取仓库的url

然后,在一个空文件夹下打开Bash窗口,完成init以及用户级别的设置

git init

git config --global user.name "zhangsan"

git config --global user.email "zhangsan@126.com"

完成之后,我们连接github的远程仓库,如下

git remote add origin https://github.com/xxxx/testGitHub.git

紧接着,我们拉去远程仓库的文件,如下(注意,这里有的人可能不是main,主要看的是你在github中仓库的分支名,有的人master也可以)

git pull origin main

将仓库中的readme文件和.gitignore文件拉取下来

推送代码到远程仓库

git push origin master

执行命令之后会打开连接GitHub的页面

我们点击Sign in with your browser之后输入github密码连接成功之后。看Bash窗口会自动完成push操作

我们可以看到A.txt文件被推送到github上面。

二、ssh方式

SSH公钥:这里又分两种,一种是仓库公钥,另一种是账户公钥,两个的作用域不同

账户SSH公钥

首先文件夹初始化,并创建账户和邮箱

git init

git config --global user.name "lisi"


git config --global user.email "lisi@126.com"

在Bash窗口通过命令 "ssh-keygen"生成 SSH Key:

ssh-keygen -t ed25519 -C "GitHub SSH Key"

其中,"-t" 代表公钥的类型,"-C"为注释

输入上述指令后,连续按3次回车键即可

之后,通过 "ls ~/.ssh/" 指令来查看SSH公钥和私钥,会输出

其中,前者是私钥,后者是公钥,我们读取公钥文件

cat ~/.ssh/id_ed25519.pub

输出如下所示

ssh-ed25519 AAAA***CB Gitee SSH Key

将公钥复制,后面会用

现在我们进去github,「Setting」->「SSH and GPG key」->「SSH keys」->「New SSH Key」

将刚刚复制的公钥粘贴到公钥文本框,并为该公钥添加一个标题.这里需要将查到的全部内容复制到内容区中,点击Add SSH Key。

完成上述之后回到Bash,输入 "ssh -T git@github.com"测试绑定是否成功,如下

我们通过SSH连接github的远程仓库,如下

git remote add origin git@github.com:jsjsazxd/testGitHub.git

之后完成拉取项目以及提交内容到项目中

提交文件时,使用了git push -u origin main.发生报错

输入git log 查看内容是否已经完成提交

之后输入git branch查看分支内容

只存在一个master分支,因此输入git push -u origin master完成内容推送

三、https和ssh的区别(面试题)

1、https和ssh的传输速度不同

https的速度要相对于ssh的传输速度要快一些

2、https和ssh的安全性不同

https是通过用户名和密码进行传输的,ssh是通过密钥进行传输的,因此ssh的安全性更高;即使ssh的传输速度要慢于https,但是大部分情况会因为考虑到安全性而优先选择ssh

3、https和ssh的默认端口不同

https默认访问的是443,ssh默认访问的是22

一般情况下,443端口是会被开放的,而22端口默认是不会被开放的;

如果需要进行ssh或者https进行操作时,首先需要检查所在服务器的对应端口是否开放

4、使用https和ssh进行git操作时,操作方式不同

https通过输入用户名和密码进行远程仓库和本地的连接

ssh通过在github或者gitee配置公钥,与本地仓库的私钥进行相对应来完成远程仓库与本地仓库的连接

5、读写权限的细粒度控制不同

HTTPS:对于公开仓库,任何人无需认证即可clone(读权限);push需要完整账户凭证。

SSH:基于密钥对,权限更精细。可以为不同设备/仓库生成不同密钥,便于撤销(比如设备丢失时直接删公钥)。HTTPS的PAT/Token撤销后影响整个账户。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐