GitHub Desktop 是GitHub公司推出的一款桌面应用程序,旨在帮助开发人员更轻松使用GitHub。它提供了一个直观的用户界面,允许用户通过图形化界面来执行常见的 Git 操作,如克隆仓库、创建分支、提交更改、合并代码等。
GitHub Desktop 的设计使得 Git 工作流程更加可视化和易于理解,特别适合那些对命令行不太熟悉的开发人员。它支持 Windows 和 macOS 等主流操作系统,并与 GitHub 网站紧密集成,可以直接在应用程序中查看仓库、拉取请求和问题等 GitHub 相关功能。接下开始讲解这个工具的使用:
目录
下载安装
首先我们先打开 官方地址 ,点击下面的按钮,下载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 提供了一个简单、直观且功能强大的工具,帮助开发者更轻松地进行版本控制和团队协作。