Git连接远程仓库(超详细)

目录

[一、Gitee 远程仓库连接](#一、Gitee 远程仓库连接)

[1. HTTPS 方式](#1. HTTPS 方式)

[2. SSH公钥方式](#2. SSH公钥方式)

(1)账户公钥

(2)仓库公钥

[仓库的 SSH Key 和账户 SSH Key 的区别?​](#仓库的 SSH Key 和账户 SSH Key 的区别?)

二、GitHub远程仓库连接

[1. HTTPS方式](#1. HTTPS方式)

2.SSH公钥方式


本文将介绍如何通过 HTTPS 和 SSH 两种方式连接和管理 Gitee 和 GitHub 远程仓库。

一、Gitee 远程仓库连接

1. HTTPS 方式

(1)在本地创建testGit空文件夹,在该文件夹下进入bash窗口,完成init以及用户级别的设置

(2)在gitee中创建一个仓库。

(3)关联远程仓库

  • 点击"克隆/下载"
  • 复制HTTPS下的url
  • 关联你的gitee远程仓库:
bash 复制代码
git remote add origin 你自己的url

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

  • 查看结果
bash 复制代码
cat .git/config

关联成功!

(4)远程仓库的拉取

第一次拉取需要验证登录,输入gitee的用户名和密码即可。

bash 复制代码
git pull --rebase origin master

执行完这条命令后,我们可以看到,远程仓库中的文件拉取到了本地仓库。

(5)推送本地库文件

随便写一个文件,如A.txt,写入一些内容并完成提交,指令如下:

bash 复制代码
vi A.txt
git add .
git commit -m "注释t"

接下来,推送到远程库,命令如下:

bash 复制代码
git push origin master

刷新gitee仓库页面,会发现里面有我们刚刚创建的A.txt文件

这样,HTTPS的远程仓库的推送就完成了。

2. SSH公钥方式

分为仓库公钥和账户公钥,两者的作用域不同。

(1)账户公钥

  • 首先,在Bash窗口通过命令 "ssh-keygen"生成 SSH Key:
bash 复制代码
ssh-keygen -t ed25519 -C "Gitee SSH Key"

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

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

通过输出我们可以看到,私钥被保存在 C:\Users\[用户名]\.ssh\id_ed25519,公钥被保存在 C:\Users\[用户名]\.ssh\id_ed25519.pub里。

或者也可以 通过 "ls ~/.ssh/" 指令来查看SSH公钥和私钥,会输出:

结果是一样的。

  • 读取公钥文件
bash 复制代码
cat ~/.ssh/id_ed25519.pub

将公钥复制,后面会用

  • 添加公钥

进入gitee,主页右上角 「个人设置」->「安全设置」->「SSH 公钥」->「添加公钥」 ,添加生成的 public key 添加到当前账户中。

将刚刚复制的公钥粘贴到公钥文本框,并为该公钥添加一个标题

  • 回到Bash,输入 "ssh -T git@gitee.com"测试绑定是否成功,如下

会输出一段信息,这段信息是你在使用 SSH 连接到 Gitee 时,如果之前没有连接过该主机,SSH 客户端会显示的警告和确认信息,输入yes即可。

(2)仓库公钥

  • 在获取公钥的部分(即Bash窗口的操作)跟账户的是相同的。
  • 复制生成的ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,将生成的公钥添加到仓库中
  • 配置完之后,同样也是通过 "ssh -T"指令来测试:
bash 复制代码
$ ssh -T git@gitee.com
//下面是输出结果
Hi Anonymous! You've successfully authenticated, but GITEE.COM does not provide shell access.

仓库的 SSH Key 和账户 SSH Key 的区别?


二、GitHub远程仓库连接

1. HTTPS方式

  • 与Gitee步骤相同,先创建仓库,复制url
  • 在一个空文件夹下打开Bash窗口,完成init以及用户级别的设置
  • 完成之后,我们连接github的远程仓库,如下
  • 拉取远程仓库的文件
bash 复制代码
git pull origin main

分支名称"main"视情况而定

  • 推送本地文件

与gitee相同,新建一个文件,完成提交。

进行推送:

bash 复制代码
 git push origin master:main
//git push <远程主机名> <本地分支名>:<远程分支名>
//而当我们的本地分支与远端分支一致时,则可以将命令简化为:
//git push <远程主机名> <分支名>

第一次push需要验证,我们选择"Sign in with your browser",输入密码就好了

在这我遇见了一个错误:

bash 复制代码
$ git push -u origin master:main
fatal: unable to access 'https://github.com/dong/test02.git/': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0

搜了一下,说是代理http/https或者其他问题导致的,使用如下命令解决:

bash 复制代码
$ git config --global http.sslVerify "false"

推送成功!

2.SSH公钥方式

与Gitee相同,略。

相关推荐
XWXnb643 分钟前
Git使用步骤
git
YG·玉方44 分钟前
GIT命令使用手册(详细&实用版)
git
DN金猿14 小时前
Git进阶:本地或远程仓库如何回滚到之前的某个commit
git
恩爸编程14 小时前
Git 安装全教程:从入门到上手
git·git安装·git使用·git安装教程·git安装流程·git window安装
NingrLi14 小时前
利用git上传项目到GitHub
git·elasticsearch·github
Kai HVZ15 小时前
GIT区域介绍及码云+GIt配置仓库
大数据·git·elasticsearch
海绵波波10717 小时前
Windows下git安装
git
冰镇屎壳郎1 天前
Git 快速入门
git