Git 远程仓库

以 GitHub/Gitee 为例,作为简述 Git 中的远程仓库,以及常用命令。


配置 SSH

本地 Git 仓库和 GitHub/Gitee 仓库之间的传输是通过 SSH 加密的:

  1. 创建 SSH Key

    # 检查本地主机是否已存在 ssh key
    $ cd ~/.ssh
    $ ls # 若没有文件 id_rsa 和 id_rsa.pub,则输入如下命令:$ ssh-keygen -t rsa -C "youremail@example.com" # 可以一直按 enter 键,即可生成两个文件。
    

    ~/.ssh 目录中有 SSH Key 的秘钥对(id_rsaid_rsa.pub)两个文件。其中,id_rsa 是私钥,不能泄露;id_rsa.pub 是公钥。

  2. 将公钥添加至代码托管平台。登陆 GitHub/Gitee,打开设置SSH Keys页面,将 id_rsa.pub 文件的内容粘贴至公钥框中。

  3. 测试

    $ ssh -T git@github.comThe authenticity of host 'gitee.com (xxx.xx.xxx.xx)' can't be established.
    ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yesWarning: Permanently added 'gitee.com,xxx.xx.xxx.xx' (ECDSA) to the list of known hosts.
    Hi gitee_username(@gitee_username)! You've successfully authenticated, but GITEE.COM does not provide shell access.
    

设置后,在 git clone 仓库时要使用 ssh 的 url,而不是 https

创建 GitHub/Gitee 仓库

设置仓库名称路径,勾选开源,其他不需要填写或勾选。

推送本地仓库内容至 Gitee

$ git remote add origin https://gitee.com/gitee_username/repository_name.git
$ git push -u origin "master"
# 按如下提示输入 gitee 用户名和密码即可
Username for 'https://gitee.com': gitee_username
Password for 'https://gitee_username@gitee.com':

推送本地仓库内容至 GitHub 时,按以下命令输入,一直报错。

$ git remote add origin https://github.com/GitHub_username/learngit.git
$ git branch -M main
$ git push -u origin main

报错信息:

fatal: unable to access 'https://github.com/GitHub_username/learngit.git/': Failed to connect to github.com port 443: Connection timed out

尝试取消代理,仍未能解决:解决git报错:‘fatal: unable to access ‘https://XXX

输入命令前,使用 Watt Tollkit 来加速访问 GitHub。解决使用git时遇到Failed to connect to github.com port 443


常用命令

git remote

查看、添加、重命名和删除 Git 仓库中的远程仓库

以下是 git remote 命令的常见用法:

命令说明
git remote列出当前仓库中已配置的远程仓库
git remote -v列出当前仓库中已配置的远程仓库,并显示其 URL
git remote add <remote_name> <remote_url>指定一个远程仓库的名称和 URL,将其添加到当前仓库中
git remote rename <old_name> <new_name>将已配置的远程仓库重命名
git remote remove <remote_name>从当前仓库中删除指定的远程仓库
git remote set-url <remote_name> <new_url>修改指定远程仓库的 URL
git remote show <remote_name>显示指定远程仓库的详细信息,包括 URL 和跟踪分支。

git clone

克隆远程 Git 仓库到本地,并在当前目录下创建一个与远程仓库同名的文件夹。urlhttpsssh,其中 ssh 协议速度更快。

$ git clone [url]

git push

将本地的分支版本上传到远程并合并

$ git push <远程主机名> <本地分支名>:<远程分支名>
# 如果本地分支名与远程分支名相同,则可以省略冒号:
$ git push <远程主机名> <本地分支名>

将本地的 master 分支推送到 origin 主机(远程仓库链接的别名)的 master 分支:

$ git push origin master
$ git push origin master:master

git push -u origin master 推送 master 分支的所有内容

加了参数 -u 后,以后即可直接用 git push 代替 git push origin master

通常来说,每次使用 git push 命令,需要输入用户名和密码,避免输入的操作如下:

# 进入本地仓库文件夹内
$ git config  credential.helper store # 无 --global 表示只对这个仓库生效

在下一次执行 push 操作仍需要输入一次用户名和密码,下下次提交则不再需要。

关于配置 SSH 的原因

SSH 验证原理:SSH 登录安全性由非对称加密保证。一次产生一个公钥和一个私钥,在 Git 中一般命名为 id_rsa.pubid_rsa。其中公钥放到远程主机。

当本地主机需要登录远程主机时,本地主机向远程主机发送一个登录请求,远程收到消息后,随机生成一个字符串并用公钥加密,发回给本地。本地拿到该字符串,用存放在本地的私钥进行解密,再次发送到远程,远程比对该解密后的字符串与源字符串是否等同,如果等同则认证成功。

如果多人协作开发,那么每台开发主机都需要增加 SSH Key 到远程仓库中, 利用 SSH 密钥可以连接到 GitHub,而无需在每次访问时都提供用户名和 personal access token,还可以使用 SSH 密钥对提交进行签名。另一方面,因为只能推送(push)自己的或有权限的远程仓库中,所以远程仓库中需要配置所有需要推送代码的主机的 SSH。



参考:

Github配置ssh key的步骤(大白话+包含原理解释)

关于 SSH - GitHub 文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/633321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为:交换机忘记console密码重置

一、背景 许多旧项目经过长时间使用后&#xff0c;因为没有特定的管理运维人员&#xff0c;初始对接人也将初始账号密码等重要信息丢失&#xff0c;现需要进后台查看配置或更改网络配置&#xff0c;需重置密码 二、重置密码&#xff0c;不重置设备方法 1、使用console插入交…

vue+elementui实现12个日历平铺,初始化工作日,并且可点击

<template><div class"app-container"><el-form :model"queryParams" ref"queryForm" size"small" :inline"true"><el-form-item label"年份" prop"holidayYear"><el-date-…

can数据记录仪自带软件LKMaster——自动化测试篇

LKMaster上位机软件是由南京来可电子发布的CAN&CANFD综合测试分析软件&#xff0c;支持报文收发、数据分析、协议解析、历史回放、文件格式转换、参数配置、记录文件管理、脚本编辑、自动化测试等强大的功能。支持J1939、CANOPEN、J1939BMS、自定义解析&#xff0c;支持曲线…

Pytorch:torch.repeat_interleave()用法详解

torch.repeat_interleave() 是 PyTorch 中的一个函数&#xff0c;用于按指定的方式重复张量中的元素。 以下是该函数的详细说明&#xff1a; 原理&#xff1a; torch.repeat_interleave() 的原理是将输入张量中的每个元素重复指定的次数&#xff0c;并将这些重复的元素拼接成…

redis原理(四)redis命令

目录 一、字符串命令&#xff1a; 二、列表命令&#xff1a; 三、集合命令&#xff1a; 四、散列命令&#xff1a; 五、有序集合命令&#xff1a; 六、redis发布与订阅命令&#xff1a; 七、事务命令 八、其他命令 1、排序&#xff1a;SORT 2、键的过期时间&#xff…

【MATLAB源码-第118期】基于matlab的蜘蛛猴优化算法(SMO)无人机三维路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 蜘蛛猴优化算法&#xff08;Spider Monkey Optimization, SMO&#xff09;是一种灵感来源于蜘蛛猴觅食行为的群体智能优化算法。蜘蛛猴是一种生活在南美洲热带雨林中的灵长类动物&#xff0c;它们在寻找食物时展现出的社会行…

Cleanmymac for mac 4.14.7无弹窗注册版

Cleanmymac for mac是一款先进的、集所有功能于一身的实用系统清理工具&#xff0c;删除系统缓存文件 , 多余的应用程序语言包 , 它能帮助保持您的Mac保持清洁。只需两个简单的点击&#xff0c;就可以删除无用的文件&#xff0c;以节省您宝贵的磁盘空间。 对于很多喜爱摄影朋友…

[HTML]Web前端开发技术14(HTML5、CSS3、JavaScript )鼠标经过图片显示大图 网页标题:表格标签的综合应用——喵喵画网页

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;佬佬会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…

day13 CSS3动画(animation)

CSS3 keyframes 规则 keyframes 规则是创建动画&#xff0c;在该规则内指定一个 CSS 样式和动画将逐步从目前的样式更改为新的样式。 animation&#xff1a;所有动画属性的简写属性。 animation-name&#xff1a;规定 keyframes 动画的名称。 animation-duration&#xff1…

云原生演进中的AI算力高效使用

0 1 云原生技术的普及与发展 云原生技术是一种基于容器技术的轻量级、高可用的应用架构&#xff0c;具有弹性扩展、快速部署、统一管理等特点。随着企业对敏捷开发和快速迭代的需求不断增加&#xff0c;云原生技术的普及与发展已成为不可逆转的趋势。 图1. 云原生技术发展之路…

spring中的事务及底层原理

在Spring框架中&#xff0c;事务管理是一个关键的特性&#xff0c;它允许开发者在应用程序中声明性地管理事务。Spring事务管理的核心是基于AOP&#xff08;面向切面编程&#xff09;和IOC&#xff08;控制反转&#xff09;的思想。以下是Spring中事务管理的一些重要概念和底层…

电商平台spu和sku的完整设计

一、关于数据库表的设计 1、商品属性表 比如一个衣服有颜色、尺码、款式这个叫属性表 -- ------------------------ -- 商品属性表 -- ------------------------ DROP TABLE IF EXISTS attribute; CREATE TABLE attribute (id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT CO…

HCIA-H12-811题目解析(12)

1、如图所示&#xff0c; 关于OSPF的拓扑和配置&#xff0c;下列说法中正确的是&#xff1f; 2、如图所示&#xff0c;私有网络中有一台web服务器需要向公网用户提供HTTP服务&#xff0c;因此网络管理员需要在网关路由器RTA上配置NAT以实现需求&#xff0c;则下面配置中能满足…

区间预测 | Matlab实现LSSVM-ABKDE的最小二乘支持向量机结合自适应带宽核密度估计多变量回归区间预测

区间预测 | Matlab实现LSSVM-ABKDE的最小二乘支持向量机结合自适应带宽核密度估计多变量回归区间预测 目录 区间预测 | Matlab实现LSSVM-ABKDE的最小二乘支持向量机结合自适应带宽核密度估计多变量回归区间预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现…

爬虫接口获取外汇数据(汇率,外汇储备,贸易顺差,美国CPI,M2,国债利率)

akshare是一个很好用的财经数据api接口&#xff0c;完全免费&#xff01;&#xff01;和Tushare不一样。 除了我标题显示的数据外&#xff0c;他还提供各种股票数据&#xff0c;债券数据&#xff0c;外汇&#xff0c;期货&#xff0c;宏观经济&#xff0c;基金&#xff0c;银行…

深度学习和机器学习中针对非时间序列的回归任务,有哪些改进角度?

深度学习和机器学习中针对非时间序列的回归任务&#xff0c;有哪些改进角度&#xff1f; 目录 深度学习和机器学习中针对非时间序列的回归任务&#xff0c;有哪些改进角度&#xff1f;引言1 数据预处理2 数据集增强3 特征选择4 模型选择5 模型正则化与泛化6 优化器7 学习率8 超…

年龄性别预测2:Pytorch实现年龄性别预测和识别(含训练代码和数据)

年龄性别预测2&#xff1a;Pytorch实现年龄性别预测和识别(含训练代码和数据) 目录 年龄性别预测2&#xff1a;Pytorch实现年龄性别预测和识别(含训练代码和数据) 1.年龄性别预测和识别方法 2.年龄性别预测和识别数据集 3.人脸检测模型 4.年龄性别预测和识别模型训练 &a…

窗口辅助管理工具--Magnet 中文

Magnet是一款窗口管理工具软件&#xff0c;可以帮助用户更高效地组织和管理打开的窗口。它通过简单的拖放操作将窗口捕捉到特定的位置和大小&#xff0c;支持快速将窗口分割成不同的区域&#xff0c;并在屏幕上创建自定义的布局。用户可以选择预设的布局选项&#xff0c;也可以…

密码学学习笔记(二十四):TCP/IP协议栈

TCP/IP协议栈的基础结构包括应用层、传输层、网络层、数据链路层和物理层。 应用层 应用层位于TCP/IP协议栈的最顶层&#xff0c;是用户与网络通信的接口。这一层包括了各种高级应用协议&#xff0c;如HTTP&#xff08;用于网页浏览&#xff09;、FTP&#xff08;用于文件传输…

适用于电脑的 10 款最佳文件恢复软件

由于在线可用选项数量众多&#xff0c;寻找适用于 Windows 11 的最佳文件恢复软件可能会很棘手&#xff0c;但本指南将为您提供有关此主题所需的所有信息。 文件或数据丢失是指意外或无意丢失电子设备上存储的重要数字文件的事件。这可能是由于外部或内部问题造成的&#xff0…