TortoiseGit 入门指南05:推送和拉取

news2024/12/28 19:06:13

本节所讲内容均涉及到 远端版本库

版本库 的概念在《TortoiseGit 入门指南02:创建和克隆仓库》中提到过,它是工作目录下面的一个名为 .git 的隐藏目录,我们每一次提交、每一个分支都会保存在版本库中。这个版本库就在我们电脑上的某个文件夹内,所以也称为 本地版本库

远端版本库 通常是放在托管平台上的版本库,通过这种方式,可以备份代码、随时随地获取代码、与其他人员协同工作等。常见的托管平台有 Github(国内访问速度受限)和 gitee (国内托管平台,访问速度快)。

本地版本库远端版本库 之间的交互主要涉及到 克隆拉取抓取推送 这几个操作。其中 克隆 已经在《TortoiseGit 入门指南02:创建和克隆仓库》中讲过,这里不再赘述,重点关注:

  1. 推送(push):向远端版本库同步数据
  2. 拉取(pull)和 抓取(fetch):从远端版本库同步数据

它们的关系用一张图表示为:
在这里插入图片描述
图中出现的概念,如工作区版本库提交 等,在之前的文章中均有提及,这些基本概念需要读者理解,这是用好 Git 的基础。

1 云托管平台设置

Gitee 托管平台为例。

1.1 注册 Gitee

在官网注册,点击这里。

1.2 创建SSH秘钥(key)

在任意位置单击鼠标右键,在弹出的右键菜单中单击 Git Bash Here ,打开 Git 命令行界面。
在这里插入图片描述

在 git 命令行界面中输入:

ssh-keygen -t rsa -C "email" 

email 是你设置 Git 时用到的电子邮箱,邮箱要在双引号内。

此时,C:\Users\用户名.ssh目录下会生成两个文件:id_rsaid_rsa.pub,把 id_rsa.pub 文件中的内容复制下来。

1.3 设置远程仓库 SSH 秘钥

打开你的 Gitee 主页,点击账户设置 - 安全设置 - SSH 公钥,把刚才复制的 ssh 秘钥粘贴到公钥输入框中。

1.4 创建远端仓库

在这里插入图片描述
这里创建一个名为 demo 的测试仓库。新的仓库什么也没有,我们先复制这个仓库的 SHH 地址。
在这里插入图片描述

2 推送

使用推送(Push)将本地更改同步到远端版本库。

在仓库中右击鼠标 - TortoiseGit - Push... 打开推送对话框:

在这里插入图片描述

2.1 推送源(Ref)

  • Local:源分支,该分支将被推送到远端版本库。

  • Remote:远端版本库分支名,远端版本库可能有多个分支,比如master分支用于稳定版本,平时开发在develop分支上进行,当推送的时候,需要指定推送到哪个分支上。

    注:如果不填写远端版本库分支名,则推送到远程仓库的默认分支,将哪个分支设置为默认分支可以在远端版本库修改。

    这就意味着,如果用master分支存储稳定版本,则不要将它设置为默认分支,以免将开发版本错误的推送到master分支上。

2.2 推送目的地(Destination)

  • Remote:选择一个已配置的远端版本库。如果还没有配置过,点击Manage,在弹出的设置页面中配置一个远端版本库,如下图所示。在 URL 处填写刚刚复制的远端版本库 SSH 地址,点击“确定”按钮,完成与远端版本库的关联。
    在这里插入图片描述
  • Arbitrary URL:也可以使用远端版本库的 URL

远端版本库应该是一个裸仓库。

2.3 选项(Options)

  • Force: May discard known changes:强制推送,可能丢失已知更改,会使用 --force-with-lease 选项,可以防止丢失远程仓库其他人的未知更改。需小心使用,一旦使用此选项,表明本地仓库与远程仓库出现了冲突,建议先拉取代码,在本地解决冲突后再进行推送。

  • Force: May discard unknown changes:强制推送,可能丢失未知更改,会使用 --force 选项,可能导致远程仓库其他人的更改丢失,需要慎重使用。一旦使用此选项,表明本地仓库与远程仓库出现了冲突,建议先拉取代码,在本地解决冲突后再进行推送。

  • Include Tags:将本地标签推送到远端版本库。默认情况下,推送内容时不包含标签的,如果要将标签推送到远端版本库,需要手动勾选此选项。

  • Set upstream/track remote branch:跟踪远程分支。

    跟踪远程分支意味着将本地分支与远程分支关联起来。比如远程有三个分支 master、develop 和 feature,其中 develop 分支作为默认分支,但有一段时间我们需要在 feature 分支上开发一个新功能,在这期间所有的更改都要推送到 feature 分支,解决方法是每次推送时,都在推送对话框的 Remote 处手动填写 feature。这样很不方便,我们可以在推送到 feature 分支时,勾选 Set upstream/track remote branch 选项,这样就将本地分支与远程 feature 分支之间建立了关联,下次再推送的时候,TortoiseGit 会自动帮我们填写 feature,就不必担心不小心将更改推送到默认的 develop 分支上去。

3 拉取和抓取

拉取(pull)和抓取(fetch)都是从远端版本库中获取更改的方法,区别在于:抓取只将数据下载到你的本地版本库,它不会自动合并或修改你当前的工作区;拉取不仅将数据下载到你的本地版本库,还会自动合并到当前版本库并更新当前工作区。

在仓库中右击鼠标 - TortoiseGit - Pull... 打开拉取对话框;

在仓库中右击鼠标 - TortoiseGit - Fetch... 打开抓取对话框。

这里以拉取对话框为例(抓取对话框与之相似)。

在这里插入图片描述

  • Tags复选框:有三种状态,选中表示下载所有Tag和分支、未选中表示不下载Tag、部分选中表示使用默认设置。

  • Prune复选框:有三种状态,选中表示删除远程上不再存在的远程跟踪分支、未选中表示不删除、部分选中表示使用默认设置。

    Tags复选框Prune复选框 的默认设置可以在 TortoiseGit - Settings - Git - Remote 中设置:
    在这里插入图片描述









读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃‘▽’〃)
千金难买知识,但可以买好多奶粉

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

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

相关文章

windows开机启动nginx(服务方式启动)

提示:本文章介绍如何借助Windows Service Wrapper小工具,将Nginx转换为Windows服务,在服务中心配置自启动,从而在开机时windows自行启动Nginx服务 Nginx是什么 官方链接:nginx下载 Nginx 是一个高性能的HTTP和反向代理…

Kotlin基础(五):类和接口

前言 本文主要讲解类和接口,主要包括类的声明、构造器、类成员、修饰符、类的继承、接口、抽象类。 Kotlin文章列表 Kotlin文章列表: 点击此处跳转查看 目录 1.1 类的声明 在 Kotlin 中,类的声明使用关键字 class。下面是一个简单的类声明的示例&…

感受C++模版的所带来的魅力

一、泛型编程思想 首先我们来看一下下面这三个函数,如果学习过了 C函数重载 和 C引用 的话,就可以知道下面这三个函数是可以共存的,而且传值会很方便 void Swap(int& left, int& right) {int temp left;left right;right temp; }…

三、Exsi安装虚拟机win10系统

Exsi安装虚拟机win10系统 1、新建虚拟机2、选择存储(直接下一步)3、自定义设置3.1 设置cpu3.2 设置内存3.3 设置硬盘3.4 设置网卡3.5 设置驱动3.6 设置BIOS 4、完成安装 1、新建虚拟机 2、选择存储(直接下一步) 3、自定义设置 3.1 设置cpu 3.2 设置内存 3.3 设置硬盘 3.4 设置…

python搭建文件服务

python -m http.server 访问8000端口,可分享或下载命令启动文件夹下文件。

美国访问学者的申请条件

作为一个富有学术活力和创新精神的国家,美国吸引着世界各地的学者前往交流和研究。对于希望成为美国访问学者的人来说,了解申请条件是至关重要的。下面知识人网小编将介绍一些常见的美国访问学者申请条件。 1. 学术背景与研究计划:作为申请者…

安全测试方法介绍(上)静态源代码审查

软件开发完成之后,我们需要进行安全验证,验证我们的软件是不是符合安全要求。软件安全测试主要有以下几个方面:确定软件的安全特性实现是否与预期设计一致的过程;有关验证软件安全等级和识别潜在安全缺陷的过程;查找软…

采集发布到WordPress网址(OneNav主题-WordPress主题)

WordPress系统的一导航主题(OneNav主题)是集网址、资源、资讯于一体的导航主题。 要将采集的数据批量自动发布到一导航主题(OneNav主题)的网址要怎么设置? 普通的文章采集器一般只能发布为wordpress文章类型&#xff…

echarts折线图横向渐变填充

这种情况,需要后端去计算,如何把不同分段的值赋予不同的颜色,然后组合成下面我们需要的格式就可以实现 drawLine1() {if (document.getElementById(s1) ! null) {var that thislet heightNum (this.porosityList.maxDepth-this.porosityLis…

网络安全—综合渗透实验

一、 实验名称 综合实验 二、 实验目的 【实验描述】 随着互联网的普及和快速发展,互联网产品多样化、迭代快的特点为一些企业赢得了机会,同样也给企业带来了众多安全问题。如网络安全、系统安全、web安全、数据安全等。 本实验模拟企业复杂网络、复…

开源代码分享(6)—考虑电动汽车可调度潜力的充电站两阶段市场投标策略(附matlab代码)

[1]詹祥澎,杨军,韩思宁等.考虑电动汽车可调度潜力的充电站两阶段市场投标策略[J].电力系统自动化,2021,45(10):86-96. 摘要:在电力市场环境下,充电站优化投标策略能降低电力成本,甚至通过售电获取收益。文中考 虑了电动汽车成为柔性储荷资源的潜力&#…

使用mongodump和mongorestore备份与恢复Mongodb数据

一、备份与恢复方案 mongodump是MongoDB官方提供的备份工具,它可以从MongoDB数据库读取数据,并生成BSON文件,mongodump适合用于备份和恢复数据量较小的MongoDB数据库, 不适用于大数据量备份。 默认情况下mongodump不获取local数据库里面的内容。mongodump仅备份数据库中的文档…

微信小程序原生button组件使用并修改样式

想使用原生button组件&#xff0c;但是想使用不同样式 <button type"default">登录</button> 注意type使用得type必须和修改时选择器样式&#xff08;button[typedefault]&#xff09;一样&#xff0c;才能对其修改样式&#xff0c;否则样式不会被修改…

ArcGIS提取路网节点

这是我学校周围的路网,数据就不分享给大家了,看教程知道有这个方法就好了 先打开编辑器,把他合并成只有一个字段的要素 然后打开高级编辑,打断相交线 保存退出,然后打开ArcCatalog 10.6, 建立网络数据集 这时候就成了带有节点的网络数据集,但这还不是我们需要的点文件,因为这…

如何创建智能合约游戏系统

区块技术的发展&#xff0c;智能合约成为了一个热门话题。智能合约是一种基于区块技术的自动化合约&#xff0c;它可以自动执行合同中规定的条款&#xff0c;从而实现去中心化的信任和价值传递。在游戏领域&#xff0c;智能合约可以让玩家在游戏中实现各种交易和交互&#xff0…

通信算法之178: 通信信道模型2

上一篇见 通信算法之159: 通信信道模型和循环/线性卷积 一. 衰减 二.多径效应--时延扩展--相干带宽 三. 时变性--多普勒扩展--相干时间 四. 频率选择性衰落&#xff0c;时间选择性衰落 小尺度衰落&#xff0c;小 五.瑞丽和莱斯信道 六循环卷积与线性卷积 线性卷积定义及计算…

1、Linux 文件与目录结构

Linux 文件 Linux 系统中一切皆文件。 Linux 目录结构 VI/VIM 编辑器 是什么 VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。 VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜 色辨别语法的正确性&#xff0c;方便程序设计…

网络安全与密码学

1、网络安全威胁 破坏网络安全的一些理论方式&#xff1a; 窃听&#xff1a;窃听信息&#xff0c;在网路通信双方直接进行窃听。 插入&#xff1a;主动在网络连接中插入信息&#xff08;可以在message中插入恶意信息&#xff09; 假冒&#xff1a;伪造&#xff08;spoof&#x…

【从零开始学习CSS | 第一篇】选择器介绍

目录 前言&#xff1a; 选择器介绍&#xff1a; 各类选择器&#xff1a; 总结&#xff1a; 前言&#xff1a; 本文以及后续几篇文章我们将会集中介绍CSS中的常见选择器&#xff0c;选择器的出现可以让我们实现对具体的元素标签进行定制&#xff0c;因此我们要掌握好各类选择…

LiveGBS流媒体平台GB/T28181功能-如何将海康大华宇视华为摄像头视频流集中存储云端录像分布式录像存储

LiveGBS如何将海康大华宇视华为摄像头视频流集中存储云端录像分布式录像存储 1、云端录像存储2、手动配置录像2.1、按需录像2.2、一直录像 3、录像计划3.1、录像计划入口3.2、新增录像计划3.3、编辑录像计划3.4、关联通道 4、查看云端录像4.1、查看录像4.1.1、时间轴模式4.1.2、…