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 添加到当前账户中。

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

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

(2)仓库公钥

  • 在获取公钥的部分(即Bash窗口的操作)跟账户的是相同的。
  • 复制生成的ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,将生成的公钥添加到仓库中
  • 配置完之后,同样也是通过 "ssh -T"指令来测试:
bash 复制代码
$ ssh -T [email protected]
//下面是输出结果
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相同,略。

相关推荐
belldeep3 小时前
如何阅读、学习 Git 核心源代码 ?
git·学习·源代码
我不是秃头sheep4 小时前
Git安装教程及常用命令
git
sduwcgg12 小时前
git经验
git
麻雀无能为力12 小时前
git的使用
git
算法歌者15 小时前
Visual Studio 项目 .gitignore 文件指南
git·visual studio
江边垂钓者16 小时前
git cherry-pick和git stash命令详解
git
Lw老王要学习16 小时前
Linux架构篇、第五章git2.49.0部署与使用
linux·运维·git·云计算·it
爱学习的张哥16 小时前
专栏项目框架介绍
git·fpga开发·udp·ddr·gt收发器
Aric_Jones18 小时前
lua入门语法,包含安装,注释,变量,循环等
java·开发语言·git·elasticsearch·junit·lua
Sapphire~1 天前
odoo-049 Pycharm 中 git stash 后有pyc 文件,如何删除pyc文件
ide·git·pycharm