GitHub Desktop安装与使用教程

GitHub Desktop 是GitHub公司推出的一款桌面应用程序,旨在帮助开发人员更轻松使用GitHub。它提供了一个直观的用户界面,允许用户通过图形化界面来执行常见的 Git 操作,如克隆仓库创建分支提交更改合并代码等。

GitHub Desktop 的设计使得 Git 工作流程更加可视化和易于理解,特别适合那些对命令行不太熟悉的开发人员。它支持 Windows 和 macOS 等主流操作系统,并与 GitHub 网站紧密集成,可以直接在应用程序中查看仓库、拉取请求和问题等 GitHub 相关功能。接下开始讲解这个工具的使用:

目录

下载安装

克隆存储库

创建存储库

打开存储库

版本回滚

分支操作

gitee的使用


下载安装

首先我们先打开 官方地址 ,点击下面的按钮,下载windows版本,如果是mac电脑选择右下角的选项,这里拿windows版本举例:

下载完成之后,得到的是一个exe文件,双击该文件进行下载安装即可,具体路径根据自身情况进行选择,不推荐下载到C盘。下载完成创建好桌面快捷方式之后,得到如下的icon:

双击打开之后,需要先登录自己的github账号,你需要在 File -> Options -> Accounts -> Sign in 登录。登录成功之后,出现的是如下界面,点击help,选择最后的about可以看到自己安装的版本

汉化处理:这个工具是国外的工具,所以都是英文,如果想让操作界面中文化需要进行汉化处理,这里我们打开 工具网址 ,然后根据自己下载的版本选择对应版本的汉化工具,如下:

下载完汉化工具之后,进行解压,然后点击里面的exe文件,如下:

点击左上角的汉化按钮,出现如下汉化成功弹框之后,说明我们汉化成功,然后重启工具即可!

得到的界面如下所示,左侧的您的存储库的意思就是我目前github账号上传的所有项目文件,右侧的四个选项,第一个顾名思义是教程,没啥说的,后面的三个选项分别代表如下意思:

克隆存储库:克隆嘛,就是把自己或者别人仓库的代码下载到本地上

创建存储库:创建嘛,就是图形化创建一个远程仓库,不需要再使用命令行

打开存储库:打开嘛,就是把原本的项目文件打开,然后修改后上传到仓库上

接下来分别对这三个选项进行讲解:

克隆存储库

克隆存储库很简单,就是指从远程代码仓库(比如 GitHub、GitLab、Bitbucket 等)复制代码及其完整的版本历史到本地计算机的操作。如下我们点击文件按钮下的克隆存储库按钮:

点击克隆存储库之后,给出了如下三个选项,这三个选项的作用分别如下:

GitHub.com:就是克隆自己目前账号上的项目或者与别人合作的项目。

GitHub Enterprise:是在自己的内部网络中建立私有的 GitHub 实例(企业常用)

URL:就是克隆别人的项目,通过获取别人项目的git地址,然后下载到本地上。(个人常用)

通过克隆存储库,可以在本地建立一个与远程仓库相同的副本,在本地进行开发、修改和提交代码,同时也可以与远程仓库同步更新。这使得团队合作更加方便,也为个人开发者提供了一个安全备份代码的方式。

我个人最常用的就是URL的方式了,复制别人的链接,然后选择要克隆的路径就好了,不然还得下载压缩包,然后解压,烦了说实话!

创建存储库

创建存储库就是指在代码托管平台(如GitHub、GitLab等)上新建一个项目空间的过程。在创建存储库时,你需要指定存储库的名称、描述、访问权限等信息。创建存储库后,你可以将代码上传至该存储库,并与其他开发者分享协作,如下:

点击新建存储库之后,这里我们需要给仓库中输入一些相应的信息,这里我将之前写的一个项目作为本地路径上传上去,然后点击新建存储库即可:

然后这里我们点击右上角的发布存储库按钮,将本地创建的存储库推送到远程仓库上:

点击之后会出现弹框,这里我们需要取消勾选,让仓库成为公共仓库,任何人都能访问到,然后点击发布即可:

打开github之后,就可以看到我们的创建的仓库已经出现了:

然后我们把之前写的一个电商项目里面的文件copy一下放到仓库当中去,如下github desktop出现了我们文件的差异提示,每个更改的文件以及里面具体的内容都能看到, 如下:

接下来我们在左下角输入本次提交的记录内容,写完之后然后点击commit到main分支即可:

接下来页面跳转到历史页面,此次是本次要推送到远程仓库的内容,查看没啥问题之后点击上面菜单的推送origin即可:

刷新浏览器之后,可以看到我们的项目已经全部推送到远程仓库上去了,很方便不需要再像git命令行那样一个一个的命令去敲:

后期我们在本地进行什么样的修改,github desktop工具都能识别到我们哪些地方进行了修改,如下我在本地代码文件中,main.ts文件下面输入两行空行,工具都识别到我的更改,是不是很方便!

更改完成之后,再重复上面的步骤,先commit然后再push到远程仓库:

打开存储库

打开存储库就是将原本的本地项目的代码,远程仓库上有记录的,在github desktop进行打开即可,比如说我卸载了这个github desktop工具,然后又重新下载,又重新登录,原本的github desktop上的记录都消失了,需要我重新再把本地的存储库再在github desktop工具上打开,如下:

点击添加存储库的按钮:

选择本地存储库的路径即可,功能很容易理解,这里不再赘述:

后期要切换不同的仓库点击左上角的按钮,然后选择自己想要的仓库名称即可:

版本回滚

我们通过工具可以清晰的看到我们每一行的内容修改,如果想撤回修改应该如何操作呢?这里有以下两种情况,自己根据情况进行操作即可:

没有提交代码:这里你还没将修改push到远程仓库上,只需要对要撤回内容进行如下操作即可:

对要撤回的内容右键选择第一个放弃更改即可,英文名称为 “Discard Changes”:

如果你已经提交了,也是有两种选择,一个是直接把这个提交撤销掉,另一个就是修改这个提交:

撤销的提交又会回到更改页面的地方:

已经提交代码:如果想撤销对已经提交到仓库的内容修改,点击如下的选项即可:

分支操作

分支允许多个开发者同时在不同的代码分支上进行工作,而不会相互影响。这样可以提高团队的工作效率,同时减少因并行开发而可能引入的代码冲突。这里github desktop工具也提供给我们分支操作的功能。如下:

创建分支:默认是main分支,点击如下按钮我们可以创建分支:

这里我创建了一个dev分支进行版本管理:

合并分支:这里我对新创建的分支进行内容的修改,然后push到远程仓库上去了:

dev分支的内容已经变化了,那我如何将比较main分支的内容与其他分支发生了什么变化呢?这里我们首先要先切换到main分支上,然后点击工具上方菜单的分支按钮,选择如下的与其他分支比较的按钮:

这里我们选择我们创建的dev分支,然后可以看到dev分支与main分支的差异在哪了。

dev分支的内容已经变化了,那我如何将dev的内容合并到main分支上去呢?这里我们首先要先切换到main分支上,然后点击工具上方菜单的分支按钮,选择如下的合并到当前的分支按钮:

选择我们要合并的分支然后点击创建合并提交的按钮即可:

如下提示我们合并成功:

然后这里我们将合并的内容再一次推送到远程仓库即可:

推送完成,来到我们的远程仓库上查看,喝!推送成功了耶!

解决冲突:要是一个人操作代码,冲突基本上不可能出现,但是对于一个公司来说,多人操作一个项目很常见,当两个人对一个文件代码进行同时操作的时候,就会出现冲突了,这里一般什么地方出现冲突,工具会给你提示,然后点击冲突的按钮会自动跳转到编辑器的相应位置出,然后根据情况选择是传入的更改还是当前的更改,这里不再赘述!

gitee的使用

GitHub Desktop 主要用于与 GitHub 平台上的仓库进行交互,因此它并不直接支持与其他代码托管平台(如 Gitee)上的仓库进行交互。因为网络的问题,如果你不会科学上网的话,使用github这个仓库会因为网络问题导致一些问题的产生。

虽然 GitHub Desktop 不直接支持与 Gitee 仓库的交互,但通过手动操作可以轻松地在 GitHub Desktop 中管理 Gitee 仓库。

所以这里我们需要先手动创建gitee仓库然后进行操作,这里拿我之前的项目举例,点击克隆按钮复制下面链接:

回到我们的工具当中,选择克隆库然后选择URL,复制当前的链接:

第一次使用会验证失败,要你输入当前你的gitee仓库的账户密码,输入即可:

输入完成,对原本的项目代码进行修改,可以看到工具也能识别出来,很牛犇啊!

总结一下使用 GitHub Desktop 有几个优势:

1)用户友好:GitHub Desktop 提供了直观易用的图形界面,使得版本控制操作更加直观和简单。无需记忆复杂的命令,即可完成常见的版本控制任务。

2)跨平台支持:GitHub Desktop 提供了跨平台的支持,可以在 Windows 和 macOS 等操作系统上运行。这使得团队成员可以在不同的操作系统上使用相同的工具进行版本控制,提高了团队协作的效率。

3)集成github功能:作为 GitHub 官方提供的工具,GitHub Desktop 与 GitHub 平台紧密集成,可以直接访问 GitHub 上的仓库、问题、合并请求等功能。这样可以方便地管理 GitHub 上的项目,查看项目的状态和进度。

4)简化工作流程:GitHub Desktop 简化了版本控制的工作流程,使得常见的操作如克隆仓库、创建分支、提交更改、合并分支等变得更加简单和直观。这有助于开发者更快地进行开发和协作。

5)可视化历史记录:GitHub Desktop 提供了可视化的历史记录功能,可以清晰地查看每个提交的更改内容,帮助开发者理解项目的演变过程和代码贡献者的工作情况。

综上所述,GitHub Desktop 提供了一个简单、直观且功能强大的工具,帮助开发者更轻松地进行版本控制和团队协作。

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

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

相关文章

Spring - 7 ( 13000 字 Spring 入门级教程 )

一:Spring Boot 日志 1.1 日志概述 日志对我们来说并不陌生,我们可以通过打印日志来发现和定位问题, 或者根据日志来分析程序的运行过程,但随着项目的复杂度提升, 我们对日志的打印也有了更高的需求, 而不仅仅是定位排查问题 比如有时需要…

基于JSP的酒店客房管理系统(二)

目录 第二章 相关技术介绍 2.1 Jsp的简介 2.2 sql server 2005 的简介 第三章 系统的分析与设计 3.1 系统需求分析 1.理解需求 2.需求分析 3.2开发及运行环境 3.3功能模块的设计 3.3.1 设计目标 3.3.2 客房管理系统前台的设计 3.3.3 操作员管…

nginxconfig.io项目nginx可视化配置--搭建-视频

项目地址 https://github.com/digitalocean/nginxconfig.io搭建视频 nginxconfig.io搭建 nginxconfig.io搭建 展示效果 找到这个项目需要的docker镜像,有项目需要的node的版本 docker pull node:20-alpine运行这个node容器,在主机中挂载一个文件夹到容器中 主机&a…

菜鸡学习netty源码(五)—— EventLoop

1.EventLoop的类关系图 2. EventExecutor /*** 返回自身的对象* Returns a reference to itself.*/OverrideEventExecutor next();/*** 获取所属的EventExecutorGroup* Return the {link EventExecutorGroup} which is the parent of this {link EventExecutor},*/EventExecuto…

利用大语言模型(KIMI)构建智能产品的信息模型

数字化的核心是数字化建模,为一个事物构建数字模型是一件非常繁杂和耗费人工的事情。利用大语言模型,能够轻松地生成设备的信息模型,我们的初步实验表明,只要提供足够的模板,就能够准确地生成设备的数字化模型。 我们尝…

Pytorch 实现 GAN 对抗网络

GAN 对抗网络 GAN(Generative Adversarial Network)对抗网络指的是神经网络中包括两个子网络,一个用于生成信息,一个用于验证信息。下面的例子是生成图片的对抗网络,一个网络用于生成图片,另一个网络用于验…

[C++基础学习-06]----C++指针详解

前言 指针是一个存储变量地址的变量,可以用来访问内存中的数据。在C中,指针是一种非常有用的数据类型,可以帮助我们在程序中对内存进行操作和管理。 正文 01-指针简介 指针的基本概念如下: 声明指针:使用“*”符…

[单片机课设]十字路口交通灯的设计

题目要求: 模拟交通灯运行情况。南北绿灯亮30秒,南北黄灯亮3秒,东西红灯亮33秒;南北红灯亮33秒,东西绿灯亮30秒,东西黄灯亮3秒;要求数码管同步显示时间的倒计时,用定时器实现延时。…

(HAL)STM32F103C8T6——内部flash模拟EEPROM

内部Flash大部分空间是用来存储烧录进单片机的程序代码,因此可以将非代码等无关区域用来存储数据。项目工程的代码量可以通过Keil uVision5软件底下框查看,如下图所示。一般只需参考代码量(Code)以及只读数据(RO-data&…

某盾BLACKBOX逆向关键点

需要准备的东西: 1、原JS码 2、AST解混淆码 3、token(来源于JSON) 一、原JS码很好获取,每次页面刷新,混淆的代码都会变,这是正常,以下为部分代码 while (Qooo0) {switch (Qooo0) {case 110 14 - 55: {function O0…

C++入门第二节--关键字、命名空间、输入输出

点赞关注不迷路!本节涉及c入门关键字、命名空间、输入输出... 1. C关键字 C总计63个关键字,C语言32个关键字 asmdoifreturntrycontinueautodoubleinlineshorttypedefforbooldynamic_castintsignedtypeidpublicbreakelselongsizeoftypenamethrowcaseen…

A Dexterous Hand-Arm Teleoperation System

A Dexterous Hand-Arm Teleoperation System Based on Hand Pose Estimation and Active Vision解读 摘要1. 简介2.相关工作2.1 机器人遥操作2.2 主动视觉(Active Vision) 3. 硬件设置4. 基于视觉的机器人手部姿态估计4.1 Transteleop4.2 Dataset 5. 主动…

升级OpenSSH版本(安装telnet远程管理主机)

一 OpenSSH是什么 OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、 rsh都是极为不安全的&…

C++奇迹之旅:string类接口详解(上)

文章目录 📝为什么学习string类?🌉 C语言中的字符串🌉string考察 🌠标准库中的string类🌉string类的常用接口说明🌠string类对象的常见构造 🚩总结 📝为什么学习string类…

二维泊松方程(Neumann+Direchliet边界条件)有限元Matlab编程求解|程序源码+说明文本

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…

stm32开发之netxduo网口通讯,网线热插拔处理

前言 在使用netxduo组件时,如果在上电过程中,未插入网线,eth驱动使能过程中未正常初始化本次使用以下几种方式进行设置 问题原因 使用定时器事件回调方式 网络组件中进行调整 /** Copyright (c) 2024-2024,shchl** SPDX-Licen…

Initialize failed: invalid dom.

项目场景: 在vue中使用Echarts出现的错误 问题描述 提示:这里描述项目中遇到的问题: 例如:在vue中使用Echarts出现的错误 ERROR Initialize failed: invalid dom.at Module.init (webpack-internal:///./node_modules/echarts…

Delta lake with Java--入门

最近在研究数据湖,虽然不知道研究成果是否可以用于工作,但我相信机会总是留给有准备的人。 数据湖尤其是最近提出的湖仓一体化概念,很少有相关的资料,目前开源的项目就三个,分别是hudi, delta lake, iceberg。最终选择…

算法打卡day41

今日任务: 1)198.打家劫舍 2)213.打家劫舍II 3)337.打家劫舍III 4)复习day16 198.打家劫舍 题目链接:198. 打家劫舍 - 力扣(LeetCode) 你是一个专业的小偷,计划偷窃沿街…

【hive】transform脚本

文档地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManualTransform 一、介绍二、实现1.脚本上传到本地2.脚本上传到hdfs 三、几个需要注意的点1.脚本名不要写全路径2.using后面语句中,带不带"python"的问题3.py脚本Shebang…