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相同,略。

相关推荐
qq_218753312 小时前
常用Git命令
java·git
4277240013 小时前
IDEA使用git不提示账号密码登录,而是输入token问题解决
java·git·intellij-idea
利刃大大21 小时前
【Git】五、多人协作
git
逸Y 仙X1 天前
Git常见命令--助力开发
java·大数据·git·java-ee·github·idea
wgslucky1 天前
pipeline 使用git parameter插件实现动态选择分支构造
git
春天姐姐1 天前
vue3项目开发总结
前端·vue.js·git
{⌐■_■}2 天前
【git】工作流实战:从本地仓库到远程仓库,git pull 与git rebase使用讲解,案例解析
git
大溪地C2 天前
Git 合并冲突解决与状态分析笔记
笔记·git
CsbLanca2 天前
Git配置个人和公司的提交信息,通过‘目录配置‘
git
娶个名字趴2 天前
Git企业开发
git