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

相关推荐
技术小结-李爽29 分钟前
【工具】git与gitee和gitlab和github等等有什么区别?
git·gitee·gitlab
为伴只为你6 小时前
将已有git工程转为使用LFS
git
x-cmd7 小时前
AI 时代的 Git 革命:多 Agent 并发开发的新基础设施
git·ai·agent·代码管理·开发者工具·多智能体协作·worktree
XS0301061 天前
Git远程仓库实操笔记
笔记·git·elasticsearch
Java成神之路-1 天前
Git 合并冲突完全指南:分支合并、拉取冲突、推送冲突
git
NutShell Wang1 天前
拆解 GitHub gh-stack:堆叠 PR 工作流的设计取舍与工程实现
前端·git·开源·github·代码复审·开发者工具·vibe coding
咩咩啃树皮1 天前
第62篇:Git团队协作完整流程——企业多人开发规范、分支管理、冲突解决、上线流程(最终封笔篇)
git
.Hypocritical.2 天前
Git 入门教程
git
AI行业学习2 天前
Claude Code + cc-switch + Git + Node.js 全套下载+安装+配置完整版
开发语言·git·python·前端框架·node.js·html·notepad++
豆角焖肉2 天前
.gitignore:配置文件+初学入门
git·gitignore