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.mfbz.cn/a/594018.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mac自定义快捷键打开系统应用

最终效果是达成altg直接打开浏览器,解放双手、再也不需要移动鼠标双击打开应用啦!!!~ 1.commandspace输入自动操作 2.选择快速操作 3.选择使用工具、运行appleScrpit 4.输入打开浏览器代码 tell application "G…

Day31:单元测试、项目监控、项目部署、项目总结、常见面试题

单元测试 保证独立性。 Assert:断言,一般用来比较是否相等,比如 Assert.assertEquals 在JUnit测试框架中,BeforeClass,Before,After和AfterClass是四个常用的注解,它们的作用如下: …

FFmpeg学习记录(四)——SDL音视频渲染实战

1.SDL使用的基本步骤 SDL Init/sDL _Quit()SDL_CreateWindow()/SDL_DestoryWindow()SDL CreateRender() SDL_Windows *windows NULL;SDL_Init(SDL_INIT_VIDEO);window SDL_CreateWindow("SDL2 Windows",200,200, 640,480,SDL_WINDOW_SHOWN);if(!window) {printf(&…

手撕netty源码(四)- ServerBootstrap是如何监听事件的

文章目录 前言一、OP_ACCEPT事件注册1.1 bind 完成之后监听OP_ACCEPT1.2 register0注册完成之后监听OP_ACCEPT 二、事件处理在这里插入图片描述 三、总结 前言 文档中的图片如果不清晰可以直接在线看processOn processOn文档跳转 接上一篇:手撕netty源码&#xff0…

基于Springboot的校园疫情防控系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的校园疫情防控系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

力扣每日一题112:路径总和

题目 简单 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 是…

FilterListener详解

文章目录 MVC模式和三层架构MVC模式三层架构MVC和三层架构 JavaWeb的三大组件Filter概述快速入门过滤器API介绍过滤器开发步骤配置过滤器俩种方式修改idea的过滤器模板 使用细节生命周期拦截路径过滤器链 案例统一解决全站乱码问题登录权限校验验 ServletContextServletContext…

多器官和多模态图像的通用异常检测模型-不受特定模型约束

文章目录 A Model-Agnostic Framework for Universal Anomaly Detection of Multi-organ and Multi-modal Images摘要方法实验结果 A Model-Agnostic Framework for Universal Anomaly Detection of Multi-organ and Multi-modal Images 摘要 背景与挑战:深度学习在…

Android Binder机制

一.简介 Binder是什么? Android系统中,涉及到多进程间的通信底层都是依赖于Binder IPC机制。 例如当进程A中的Activity要向进程B中的Service通信,这便需要依赖于Binder IPC。不仅于 此,整个Android系统架构中,大量采…

520表白代码

一、以下代码用html及css编写 代码用记事本打开可直接使用 二、效果如下 代码如下&#xff0c;以下代码复制记事本里面&#xff0c;文件名称后缀改成.html格式&#xff0c;即可运行 名称可在记事本里进行更改 文件名称更改后&#xff0c;文件会变成如下图所示的样式 <ht…

Initialize failed: invalid dom.

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

一对一WebRTC视频通话系列(四)——offer、answer、candidate信令实现

本篇博客主要讲解offer、answer、candidate信令实现&#xff0c;涵盖了媒体协商和网络协商相关实现。 本系列博客主要记录一对一WebRTC视频通话实现过程中的一些重点&#xff0c;代码全部进行了注释&#xff0c;便于理解WebRTC整体实现。 一对一WebRTC视频通话系列往期博客 一…

Cocos2d,一个能实现梦想的 Python 库

大家好&#xff01;我是爱摸鱼的小鸿&#xff0c;关注我&#xff0c;收看每期的编程干货。 一个简单的库&#xff0c;也许能够开启我们的智慧之门&#xff0c; 一个普通的方法&#xff0c;也许能在危急时刻挽救我们于水深火热&#xff0c; 一个新颖的思维方式&#xff0c;也许能…

神经网络之防止过拟合

今天我们来看一下神经网络中防止模型过拟合的方法 在机器学习和深度学习中&#xff0c;过拟合是指模型在训练数据上表现得非常好&#xff0c;但在新的、未见过的数据上表现不佳的现象。这是因为模型过于复杂&#xff0c;以至于它学习了训练数据中的噪声和细节&#xff0c;而不…

保研面试408复习 2——操作系统、计网

文章目录 1、操作系统一、进程、线程的概念以及区别&#xff1f;二、进程间的通信方式&#xff1f; 2、计算机网络一、香农准则二、协议的三要素1. 语法2. 语义3. 时序 标记文字记忆&#xff0c;加粗文字注意&#xff0c;普通文字理解。 1、操作系统 一、进程、线程的概念以及…

揭秘大模型应用如何成为当红顶流?

Kimi广告神话背后的关键词战略 如果你生活在中国&#xff0c;你可能不认识ChatGPT&#xff0c;但你一定知道Kimi。无论是学生党还是打工人&#xff0c;都无法避开Kimi的广告。 刘同学在B站上搜教学视频时&#xff0c;弹出了一则软广&#xff0c;上面写着&#xff1a;“作业有…

python学习笔记B-16:序列结构之字典--字典的遍历与访问

下面是字典的访问和遍历方法&#xff1a; d {10:"hello",20:"python",30:"world"} print(d[10],"--",d[20],"--",d[30]) print(d.get(10)) print("以上两种访问方式的区别是&#xff0c;d[key]若键是空值&#xff0c…

代码随想录算法训练营Day12 | 239.滑动窗口最大值、347.前K个高频元素

239.滑动窗口最大值 题目&#xff1a;给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1&#xff1a; 输入&#xff1…

创造价值与回报:创业者的思维格局与商业智慧

在纷繁复杂的商业世界中&#xff0c;有一种信念始终贯穿于无数创业者的心中——那就是创造价值。张磊的这句“只要不断地创造价值&#xff0c;迟早会有回报”道出了创业者的核心思维格局和商业智慧。本文将从创业者的角度&#xff0c;探讨创造价值的重要性&#xff0c;以及如何…

动态炫酷的新年烟花网页代码

烟花效果的实现可以采用前端技术&#xff0c;如HTML、CSS和JavaScript。通过结合动画、粒子效果等技术手段&#xff0c;可以创建出独特而炫目的烟花效果。同时&#xff0c;考虑到性能和兼容性&#xff0c;需要确保效果在各种设备上都能够良好运行。 效果显示http://www.bokequ.…
最新文章