当前位置: 首页 > news >正文

Github客户端工具github-desktop使用教程

文章目录

  • 1.客户端工具的介绍
  • 2.客户端工具使用感受
  • 3.仓库的创建
  • 4.初步尝试
  • 5.本地文件和仓库路径
    • 5.1原理说明
    • 5.2修改文件
    • 5.3版本号的说明
    • 5.4结合码云解释
    • 5.5版本号的查找
  • 6.分支管理
    • 6.1分支的引入
    • 6.2分支合并
    • 6.3创建测试仓库
    • 6.4创建测试分支
    • 6.5合并分支
    • 6.6合并效果查看
    • 6.7分支冲突演示
    • 6.8合并分支的标签
  • 7.提交代码

1.客户端工具的介绍

下面的这个就是我们的这个客户端工具的下载:githubdesktop客户端

[客户端工具下载](Download GitHub Desktop | GitHub Desktop)

2.客户端工具使用感受

这个客户端工具可以让我们更加深刻的理解这个分支管理,版本控制,尤其这个分支管理,真的很神奇,不同的分支在我们的这个文件夹里面显示的这个内容是不一样的,即使两个分支在一个仓库下面;

此时无声胜有声,一切尽在不言中,学习使用这个客户端工具,一定会让你更上一层楼

我学习的是这个教程:真的讲得很好,强烈推荐去听听,老师还画图帮助我们理解,真的很到位:

[尚硅谷git教程](08 - Git - 客户端 - GitHubDesktop - 仓库操作_哔哩哔哩_bilibili)

3.仓库的创建

下面的这个就是我们想要使用这个客户端工具,首先需要创建一个仓库,在这个仓库上面进行操作(比如说创建文件,填写内容,进行这个提交之类的,因此这个首先需要一个仓库);

image-20241116104309309

4.初步尝试

再说我们上面的把这个仓库创建好的这个基础之上,我们可以进一步的进行操作:就是创建新的文件在这个仓库里面

1)我们点击这个页面的这个左下角的这个show in explorer这个按钮

image-20241115175433124

2)上面的这个点击之后,相当于就是会跳转到我们的这个吸纳创建的这个仓库所在的这个目录下面;

3)这个时候,我们就在这个跳转到的这个目录下面去新建一个新的,文件,我自己是使用的这个txt文件演示的,然后这个时候我们返回到我们的这个客户端工具的时候,会看到下面的这个变化;

左边的这个显示的test.txt就是我新建的这个文件,右边的这个显示的就是我在这个文件里面插入的这个具体的内容;

image-20241116080541506

5.本地文件和仓库路径

5.1原理说明

上面的这个情况,为什么我们修改之后这个客户端工具可以自动进行识别,因为我们的这个文件是新建到了我们的这个仓库所在的这个路径下面的;

但是这个时候我们新建的这个文件并不是在我们的这个仓库里面,因为我们的这个新建的文件是在这个.git同级目录下面的,但是我们的这个仓库文件是在这个.git里面的;

这个可以进行识别是因为我们的这个过程中有一个比对的文件,就是比较我们的仓库和这个git仓库里面的这个内容是不是一样的,如果不一样,就会显示这个***changed这样的提示,如果是一样的,这个比对就会看出来这个是一样的;

image-20241116081346958

当我们创建一个新的文件之后,这个时候我们的这个.git里面肯定是没有的,因此这个时候我们需要使用这个commit进行提交到我们的这个.git里面去,这个说法可能不是很正确,但是我们一旦进行这个commit之后,这个时候我们的这个本地创建的这个文件在这个.git里面就有了一份,因此这个时候再次进行比对的时候就不会有差别了;

image-20241116082034651

5.2修改文件

当我们修改文件,可以在这个已有的这个文件里面去添加内容,也可以创建一个新的文件,这个时候,就相当于是我们搞了一个新的文件,但是这个.git里面保存的还是我们上一次提交的这个文件,这个时候比对的时候会发现这个改变,因此我们需要再次进行提交;

这次提交的相当于是新文件,因为这个git是一个版本的控制系统,我们两次提交的这个内容是不一样的,即使我们是在一个一个文件里面进行修改,可能是这个内部使用某些操作合并了,所以我么看到的这个最后总效果是不同的颜色,表示的我们对于这个文件的修改的过程(码云上市这个样子的);

image-20241116081315211

5.3版本号的说明

上面说,我们修改之后,这个提交的是一个新的文件,这个可不可以观察到了,或者说是证明一下,其实这个文件的版本号就可以去说明这个问题;

打开我们的这个历史的提交记录,这个时候我们页面的这个上发的这个7位数的这个内容就是我们的版本号,我们每一次提交之后的这个显示的版本号都是不一样的;

image-20241116082636521

5.4结合码云解释

对于版本号这一点,我自己也是深有体会,因为之前使用这个码云的时候,这个每一次进行提交的时候上面会显示出来一串数字,之前不知道这个是什么,现在终于明白了;

这个就是用来表明我们每一次提交的这个文件的身份标识,类似于我们每一个人的身份证号;

image-20241116082246527

5.5版本号的查找

就是在我们的这个文件夹.git里面的这个object目录下面有这个我们提交的这个版本号的相关记录,我们是可以在这个里面找到的;

image-20241116083004921

6.分支管理

6.1分支的引入

就是我们的不同的开发人员进行这个开发的时候多次提交,导致这个版本很混乱,如果是相同的文件,我们都去使用可能就会造成这个文件之间的冲突,因此我们有了这个分支的概念的引入;

image-20241116093556445

6.2分支合并

我们的这个修改就是在各自的这个版本上面进行的,这样最后的时候我们在进行合并,这样我们就只需要在追后进行处理(因为这个时候依然可能会出现这个冲突的情况,但是我们只需要最后处理一次);

image-20241116093833225

6.3创建测试仓库

image-20241116094111730

下面的这个代表的就是我们的这个main主分支,这个就是我们的这个版本仓库里面初始化的时候就会有这个分支

image-20241116094159293

6.4创建测试分支

创建新的分支:order表示对于这个订单的管理;

image-20241116094301525

我们可以创建这个user分支表示我们的这个用户信息的管理分支,我们在这两个分支上面进行演示,这个新建分支和我们的这个主分支之间的这个管理;

下面的这个前面打对钩的这个分支表示的就是我们当前所在这个分支:

image-20241116094357704

接下来就是就是进行这个测试的过程,这个绝对是大开眼界的过程:

1)现在是在这个user分支下面,我们在这个下面所以到这个目录下面去,添加这个user.txt文件,写一点内容,进行commit操作;

2)切换到这个order目录下面去,创建这个order.txt文件,这个时候我们的这个打开的目录和之前的这个user分支居然不一样,这个确实绝了(仔细研究发现我们在那个分支下面,这个文件夹显示的就是这个分支里面的这个内容,真的很神奇,我之前都不知道这个咩回事)0522CFDB

image-20241116094705020

6.5合并分支

因为我们的这两个新建的分支需要合并到这个main分支下面,因此我们需要先切换到这个main分支,然后再次进行这个分支选择具体要合并哪一个;

image-20241116095637821

我们按照下面的这个流程,依次对于两个分支进行合并;

image-20241116095737970

当我们的这个合并完成的时候,我们再次选择的时候,就会提示这个分支内容是最新的,up to date,但是没有合并之前就是this is a commit 就是说这个有一个分支可以被合并;

image-20241116095842995

6.6合并效果查看

image-20241116100035038

6.7分支冲突演示

image-20241116100513359

下面的这个就是对于这个冲突进行提示,提示我们进行修改:我们这个时候在这个默认的文本编辑器打开

image-20241116100613478

这个意思就是我们的这个main分支里面的这个(head指针指向的就是主分支)和我们的这个user分支里面的这个内容是冲突的,这个时候需要我们进行修改;

image-20241116100738610

我们可以全部保留,删除没用的部分:

image-20241116100904466

保存之后,这个就会显示冲突已解决,这个时候我们就可以进行正常的合并:

image-20241116100927113

6.8合并分支的标签

我们进行这个提交的时候可以写点日志,但是这个合并没有日志,我们可以添加这个标签对于这个的这次合并进行说明,了解一下即可;

image-20241116101110118

7.提交代码

首先关联我们的这个账号,下面的这个就是关联成功;

image-20241116103239307

然后我们把这个远程的这个空仓库克隆下来,因为昨天的哪个是有内容的,所以无法克隆,我自己新建了一个仓库,往这个仓库里写内容,commit之后,直接点击这个页面上的这个push origin按钮可以直接提交,非常方便!!!!

相关文章:

Github客户端工具github-desktop使用教程

文章目录 1.客户端工具的介绍2.客户端工具使用感受3.仓库的创建4.初步尝试5.本地文件和仓库路径5.1原理说明5.2修改文件5.3版本号的说明5.4结合码云解释5.5版本号的查找 6.分支管理6.1分支的引入6.2分支合并6.3创建测试仓库6.4创建测试分支6.5合并分支6.6合并效果查看6.7分支冲…...

自然语言处理:第六十三章 阿里Qwen2 2.5系列

本人项目地址大全:Victor94-king/NLP__ManVictor: CSDN of ManVictor 项目地址: QwenLM/Qwen2.5: Qwen2.5 is the large language model series developed by Qwen team, Alibaba Cloud. 官网地址: 你好,Qwen2 | Qwen & Qwen2.5: 基础模型大派对&a…...

springboot中设计基于Redisson的分布式锁注解

如何使用AOP设计一个分布式锁注解&#xff1f; 1、在pom.xml中配置依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>5.3.26</version></dependency><dependenc…...

C++初阶学习第十一弹——list的用法和模拟实现

目录 一、list的使用 二.list的模拟实现 三.总结 一、list的使用 list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向 其前一个元素和后一个元素。 常见的list的函数的使用 std::list<int> It {1,…...

共享单车管理系统项目学习实战

前言 Spring Boot Vue前后端分离 前端&#xff1a;Vue&#xff08;CDN&#xff09; Element axios(前后端交互) BaiDuMap ECharts(图表展示) 后端&#xff1a;Spring Boot Spring MVC(Web) MyBatis Plus(数据库) 数据库:MySQL 验证码请求...

详细解读TISAX汽车信息安全评估

TISAX汽车信息安全评估是一个针对汽车行业的信息安全评估和交换机制&#xff0c;以下是对其的详细解读&#xff1a; 一、背景与目的 TISAX是在德国汽车工业协会&#xff08;VDA&#xff09;的支持下开发的&#xff0c;旨在确保跨公司边界的汽车行业信息安全评估的认可度&…...

gitlab cicd搭建及使用笔记(二)

cicd之gitlab-runner使用要点 官方链接&#xff1a;https://docs.gitlab.com/runner/ 附历史文章链接 https://blog.csdn.net/qq_42936727/article/details/143624523?spm1001.2014.3001.5501 gitlab-runner常用命令及解释 gitlab-runner verify 容器内&#xff0c;检查注…...

鸿蒙实战:页面跳转传参

文章目录 1. 实战概述2. 实现步骤2.1 创建鸿蒙项目2.2 编写首页代码2.3 新建第二个页面 3. 测试效果4. 实战总结 1. 实战概述 本次实战&#xff0c;学习如何在HarmonyOS应用中实现页面间参数传递。首先创建项目&#xff0c;编写首页代码&#xff0c;实现按钮跳转至第二个页面并…...

Spring Security SecurityContextHolder(安全上下文信息)

在本篇博客中&#xff0c;我们将讨论 Spring Security 的 SecurityContextHolder 组件&#xff0c;包括其实现方式、关键特性&#xff0c;并通过实际示例进行说明。 理解 SecurityContextHolder SecurityContextHolder 是 Spring Security 存储当前安全上下文详细信息的地方。…...

蓝队技能-应急响应篇日志自动采集日志自动查看日志自动化分析Web安全内网攻防工具项目

知识点&#xff1a; 1、应急响应-系统日志收集-项目工具 2、应急响应-系统日志查看-项目工具 3、应急响应-日志自动分析-项目工具 演示案例-蓝队技能-工具项目-自动日志采集&自动日志查看&自动日志分析 系统日志自动采集-观星应急工具(Windows系统日志) SglabIr_Co…...

Python JSON 数据解析教程:从基础到高级

Python JSON 数据解析教程&#xff1a;从基础到高级 引言 在现代编程中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;已成为数据交换的标准格式。它以易于阅读和编写的文本格式存储和传输数据&#xff0c;广泛应用于Web API和配置文件中。Python提供了…...

25.UE5时间膨胀,慢动作,切换地图,刷BOSS

2-27 时间膨胀、慢动作、切换地图、刷BOSS_哔哩哔哩_bilibili 目录 1.刷新BOSS逻辑 2.时间膨胀实现慢动作 3.胜利画面&#xff0c;下一关 3.1胜利画面UI 3.2第一关、第二关游戏模式 3.3下一关按钮事件的绑定 1.刷新BOSS逻辑 实现当场上的怪物都死亡后&#xff0c;进行刷…...

Three.js 相机控制器Controls

在 3D 场景中&#xff0c;摄像机的控制尤为重要&#xff0c;因为它决定了用户如何观察和与场景互动。Three.js 提供了多种相机控制器&#xff0c;最常用的有 OrbitControls、TrackballControls、FlyControls 和 FirstPersonControls。OrbitControls 适合用于查看和检查 3D 模型…...

Android开发实战班 - 现代 UI 开发之自定义 Compose 组件

Jetpack Compose 不仅提供了丰富的内置组件&#xff0c;还允许开发者根据项目需求创建自定义组件。自定义 Compose 组件可以提高代码复用性、简化 UI 逻辑&#xff0c;并使应用界面更加一致和模块化。本章节将介绍如何创建自定义 Compose 组件&#xff0c;包括组件的创建、样式…...

All-in-one Notion 介绍

Notion 是一款集笔记、知识管理、任务规划和协作于一体的工具&#xff0c;它以高度的灵活性和可自定义的工作空间而闻名。它适合个人和团队使用&#xff0c;能够帮助用户高效管理生活、学习和工作。以下是 Notion 的一些主要特点&#xff1a; 1. 多功能工作区 Notion 将笔记、…...

深入理解C++11右值引用与移动语义:高效编程的基石

文章目录 前言&#x1f4da;一、C11的历史发展&#x1f4d6;1.1 C11 之前的背景&#x1f4d6;1.2 C11 的发展历程&#x1f4d6;1.3 C11 的主要设计目标&#x1f4d6;1.4 C11 的主要特性&#x1f4d6;1.5 C11 的影响 &#x1f4da;二、统一的列表初始化&#x1f4d6;2.1 基本列表…...

【WRF-Urban】URBPARM_LCZ.TBL 查找表解释及内容

【WRF-Urban】URBPARM_LCZ.TBL 查找表解释及内容 URBPARM_LCZ.TBL 文件的作用URBPARM_LCZ.TBL 文件中的参数URBPARM_LCZ.TBL 的使用URBPARM_LCZ.TBL 文件内容如何调整或扩展 URBPARM_LCZ.TBL参考URBPARM_LCZ.TBL 文件是 WRF(天气研究与预报模型) 中用于处理 局地气候区(Loca…...

网络是怎么连接的

目录 URL HTTP&#xff08;超文本传输协议&#xff09; FTP&#xff08;文件传输协议&#xff09; File mailto HTTP的方法 Socket URL URL&#xff08;Uniform Resource Locator&#xff09;中文名为统一资源定位符&#xff0c;它是互联网上用来标识某一资源的地址。就…...

Java 实现PDF添加水印

maven依赖&#xff1a; <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.4.3</version> </dependency>网络地址添加水印代码&#xff1a; public static boolean waterMarkNet(Stri…...

网络安全问题概述

1.1.计算机网络面临的安全性威胁 计算机网络上的通信面临以下的四种威胁&#xff1a; (1) 截获——从网络上窃听他人的通信内容。 (2) 中断——有意中断他人在网络上的通信。 (3) 篡改——故意篡改网络上传送的报文。可应用于域名重定向&#xff0c;即钓鱼网站。 (4) 伪造——伪…...

(udp)网络编程套接字Linux(整理)

源IP地址和目的IP地址 唐僧例子1 在IP数据包头部中, 有两个IP地址, 分别叫做源IP地址, 和目的IP地址.思考: 我们光有IP地址就可以完成通信了嘛? 想象一下发qq消息的例子, 有了IP地址能够把消息发送到对方的机器上,但是还需要有一个其他的标识来区分出, 这个数据要给哪个程序进…...

Web应用安全入门:架构搭建、漏洞分析与HTTP数据包处理

Web应用安全入门&#xff1a;架构搭建、漏洞分析与HTTP数据包处理 引言 在当今数字化时代&#xff0c;Web应用已成为企业和个人在线交互的核心。然而&#xff0c;随着技术的发展&#xff0c;Web应用面临的安全挑战也日益增加。本文旨在为初学者提供一个关于Web应用架构搭建、…...

[JAVA]MyBatis框架—获取SqlSession对象

SqlSessionFactory作为MyBatis框架的核心接口有三大特性 SqlSessionFactory是MyBatis的核心对象 用于初始化MyBatis&#xff0c;创建SqlSession对象 保证SqlSessionFactory在应用中全局唯一 1.SqlSessionFactory是MyBatis的核心对象 假设我们要查询数据库的用户信息&#x…...

Perl 简介

Perl 简介 Perl 是一种高级、通用、解释型、动态编程语言。由 Larry Wall 于 1987 年首次发布&#xff0c;它结合了 C、sed、awk 和 shell 脚本语言的特性。Perl 最初被设计用于文本处理&#xff0c;如报告生成和文件转换&#xff0c;但随着时间的推移&#xff0c;它已经发展成…...

spring-bean的销毁流程

1 引入 在 Spring 框架中&#xff0c;Bean 的生命周期管理是其核心功能之一&#xff0c;而 Bean 的注销&#xff08;Destruction&#xff09;是生命周期的最后一步。无论是关闭数据库连接、释放线程资源&#xff0c;还是执行缓存持久化操作&#xff0c;合适的销毁策略都至关重…...

问:Spring MVC DispatcherServlet流程步骤梳理

DispatcherServlet是Spring MVC框架中的核心组件&#xff0c;负责接收客户端请求并将其分发到相应的控制器进行处理。作为前端控制器&#xff08;Front Controller&#xff09;的实现&#xff0c;DispatcherServlet在整个请求处理流程中扮演着至关重要的角色。本文将探讨Dispat…...

用源码编译虚幻引擎,并打包到安卓平台

用源码编译虚幻引擎&#xff0c;并打包到安卓平台 前往我的博客,获取更优的阅读体验 作业内容: 源码编译UE5.4构建C项目&#xff0c;简单设置打包到安卓平台 编译虚幻 5 前置内容 这里需要将 Epic 账号和 Github 账号绑定&#xff0c;然后加入 Epic 邀请的组织&#xff0c…...

快速搭建Android开发环境:Docker部署docker-android并实现远程连接

目录 前言 1. 虚拟化环境检查 2. Android 模拟器部署 3. Ubuntu安装Cpolar 4. 配置公网地址 5. 远程访问 小结 6. 固定Cpolar公网地址 7. 固定地址访问 作者简介&#xff1a; 懒大王敲代码&#xff0c;计算机专业应届生 今天给大家聊聊快速搭建Android开发环境&#x…...

「Mac玩转仓颉内测版21」基础篇1 - 仓颉程序的基本组成

本篇将系统介绍Cangjie编程语言中程序的基本组成部分&#xff0c;涵盖 main 函数的定义、包与模块的使用、变量类型、作用域和代码结构原则&#xff0c;帮助开发者理解Cangjie程序的整体结构。 关键词 程序入口点main函数包与模块变量类型与作用域值类型与引用类型代码结构与规…...

【Linux网络编程】简单的UDP套接字

目录 一&#xff0c;socket编程的相关说明 1-1&#xff0c;sockaddr结构体 1-2&#xff0c;Socket API 二&#xff0c;基于Udp协议的简单通信 三&#xff0c;UDP套接字的应用 3-1&#xff0c;实现英译汉字典 一&#xff0c;socket编程的相关说明 Socket编程是一种网络通信…...

如何利用服务器做网站/windows优化大师是官方的吗

需要用到的命令 #查看挂载df -h#磁盘状态查看fdisk -l#磁盘分区fdisk /dev/adb#格式化磁盘或磁盘分区mkfs.ext4 /dev/adb#挂载磁盘mount /dev/adb /data直接说操作 fdisk -l 查看可挂载磁盘 df -h 查看已经挂在的磁盘 如果对磁盘做分区 fdisk /dev/vdb 输入m&#xff0c;可以查…...

注册网站需要房产证/教育培训班

alter system set events 格式&#xff1a; altersystem|session setevents ‘[eventnumber|immediate]trace name eventname [forever][, level levelnumber]: …….’ 通过:符号&#xff0c;可以连续设置多个事件&#xff0c;也可以通过连续使用alter session set events来…...

做外挂的网站/seo店铺描述

1.先去看看github上面本地流程说明 https://github.com/exceptionless/Exceptionless/wiki/Self-Hosting 比较总要的环境有 NET 4.6.1 Java JDK 1.8 我的机子是win10安装完jdk-10_windows-x64_bin.exe不用配置环境变量&#xff0c;服务端 ElasticSearch 5.6 解压elasticsear…...

wordpress 菜单 链接目标/百度投流

谁能告诉我为什么我每次投稿都会被删除文章再封号&#xff0c;然后发短信申请恢复再重新发就没问题&#xff1f;知乎这是出什么幺蛾子&#xff1f;提示&#xff1a;这一篇极其没有营养&#xff0c;根本算不上配置&#xff0c;为免不适&#xff0c;请提前做好心理准备。​ 这一篇…...

注册域名dns/小程序seo推广技巧

先简单解释下什么是双写缓冲。InnoDB使用了一种叫做doublewrite的特殊文件flush技术&#xff0c;在把pages写到date files之前&#xff0c;InnoDB先把它们写到一个叫doublewrite buffer的连续区域内&#xff0c;在写doublewrite buffer完成后&#xff0c;InnoDB才会把pages写到…...

高端做网站/上海优化公司有哪些

以前一直以为IIS应用程序的默认文档只能设置根目录下的文件&#xff0c;像index.html&#xff0c;default.aspx等&#xff0c;后来经同事指点&#xff0c;原来子目录或者子应用程序下的文件也可以添加到根应用程序的默认文档列表中。之 前为了实现这样的需求&#xff0c;当用户…...