---
title: GitHub Desktop
description: GitHub Desktop 简介及使用
---

# GitHub Desktop（WIP）

> 专注于重要的事情，而不是与 Git 斗争。无论你是 Git 的新手还是经验丰富的用户，GitHub Desktop 都能简化你的开发工作流程。
>
> “[GitHub Desktop 官网](https://desktop.github.com/)”

![](/img/7/3/gh-desktop.png)

*GitHub Desktop* 是一个用于与 *GitHub* 交互的图形化界面（*GUI*）工具，可以方便地进行代码的提交、推送、拉取、合并等操作。

## 安装和配置

访问 [*GitHub Desktop* 官方页面](https://desktop.github.com/)，下载并安装。

> 详细安装步骤请参阅 “[安装 GitHub Desktop](https://docs.github.com/zh/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/installing-github-desktop)”。

完成安装后打开软件，会提示登录 *GitHub* 账号以完成身份验证，根据软件提示进行登录即可。

![](/img/7/3/gh-desktop-login-01.png)

如果没有提示登录或是登录失败，可以点击左上角的 `File` → `Options` → `Accounts` → `Sign in` 进行登录。

![](/img/7/3/gh-desktop-login-02.png)

> 必须完成 *GitHub* 身份验证才能使用 *GitHub Desktop* 的完整功能。 <br />
> 如需注册 *GitHub* 账号可以参阅 本教程的 [详细注册指导](./github-sign-up.md) 或 “[创建 GitHub 账号](https://docs.github.com/zh/github/getting-started-with-github/signing-up-for-a-new-github-account)”。 <br />
> 关于身份验证的更多信息请参阅 “[对 GitHub 进行身份验证](https://docs.github.com/zh/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/authenticating-to-github)”。


## 基础操作

### 欢迎界面

第一次使用 *GitHub Desktop* 时，会显示一个欢迎界面，可以在此界面中选择创建教程中的示例仓库、从互联网上克隆仓库、新建本地仓库或打开已有仓库。

![](/img/7/3/gh-desktop-get-started.png)
[source](https://docs.github.com/assets/cb-397808/mw-1000/images/help/desktop/lets-get-started.webp)


### 创建示例仓库

> 非常推荐创建示例仓库，可以快速了解 *GitHub Desktop* 的基本使用方法。

步骤如下：

1. 点击 `Create a Tutorial Repository` 按钮。

2. 根据教程中的提示，进行仓库的创建、提交、发布等操作。


### 创建新仓库

可以遵循以下步骤创建新仓库：

1. 点击欢迎界面中的 `Create a New Repository on your Hard Drive`，若没有欢迎界面，则点击左上角的 `File` → `New Repository`。
   
2. 在弹出的窗口中填写字段，完成仓库的创建。

   - `Name`：仓库名称，仅接受字母和数字。
   
   - `Local Path`：仓库的本地路径。
   
   - `Description`：仓库的描述（可选）。
   
   - `Initialize this repository with a README`：是否附带自述文件初始化仓库，若勾选则会在仓库中创建一个名为 `README.md` 的自述文件（详细内容请参阅“[关于自述文件](https://docs.github.com/zh/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes)”）。
   
   - `Git ignore`：选择后会创建一个 `.gitignore` 文件，此文件决定本地仓库中不需要进行版本控制的文件或文件类型（即所包含的内容不会进行版本控制），*GitHub* 附带了一些非常有用的 `.gitignore` 模板（详细请参阅“[忽略文件](https://docs.github.com/zh/get-started/getting-started-with-git/ignoring-files)”）。

   - `License`：选择仓库的开源许可证（详细内容请参阅“[许可仓库](https://docs.github.com/zh/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)”）。

    ![](/img/7/3/gh-desktop-create-repo.png)

3. 点击 `Create Repository` 按钮，完成仓库的创建。

> 创建新仓库后，它仅存在于本地，可以将仓库发布到 *GitHub* 上，以便在不同设备上进行同步。 <br />
> 详细步骤请参阅“[将仓库推送到 GitHub](https://docs.github.com/zh/desktop/installing-and-configuring-github-desktop/overview/creating-your-first-repository-using-github-desktop#%E7%AC%AC-4-%E9%83%A8%E5%88%86%E5%B0%86%E4%BB%93%E5%BA%93%E6%8E%A8%E9%80%81%E5%88%B0-github)”。


### 添加本地仓库

本机上的仓库或文件夹也可以通过 *GitHub Desktop* 进行管理，步骤如下：

1. 点击左上角的 `File` → `Add local repository`，或是欢迎界面中的 `Add an Existing Repository from your Hard Drive`。

2. 在弹出的窗口中选择本地仓库的路径，点击 `Add Repository` 按钮，完成仓库的添加。

> 如果出现 `The Git repository appears to be owned by another user on your machine` 的提示，说明该仓库属于其他用户，此时只需要点击下方蓝色字体的提示，忽略用户所有权以完成仓库的添加。

![](/img/7/3/gh-desktop-add-repo-01.png)

> 本地仓库指的是经过 *Git* 初始化的仓库，即包含 `.git` 文件夹的文件夹。
> 如果直接添加一个普通文件夹，会出现 `The directory does not appear to be a Git repository` 的提示。 <br />
> 此时需要根据下方蓝色字体的提示，以所选的文件夹作为仓库的创建本地仓库。

![](/img/7/3/gh-desktop-add-repo-02.png)


### 克隆仓库

克隆 `Clone` 是将远程仓库的所有内容复制到本地的过程。您可以通过克隆仓库来创建任何 *Git* 仓库的本地副本。
接下来将指导如何克隆仓库，步骤如下：

1. 点击左上角的 `File` → `Clone Repository`。

2. 在弹出的窗口中选择要克隆仓库对应的选项卡，填写相关字段。

    ![](/img/7/3/gh-desktop-clone-01.png)

    - GitHub.com：从您的 *GitHub* 账户中选择要克隆的仓库。（这些仓库是您的账号有权限访问的公开仓库和私有仓库。）
    - GitHub Enterprise：从您的 *GitHub Enterprise* 账户中选择要克隆的仓库。
    - URL：输入仓库对应 URL 或 *GitHub* 中的仓库名称来克隆仓库。

3. 选择克隆仓库的本地路径，点击 `Clone` 按钮，完成仓库的克隆。
> 能克隆仓库不代表能够对其进行修改，必须拥有对应仓库的写入权限才能在本地和远程仓库之间进行同步。

    > “当您尝试使用 GitHub Desktop 克隆您没有写入权限的仓库时，GitHub Desktop 会自动提示您创建复刻（Fork）。 您可以选择使用复刻参加原始上游仓库，或者在您自己的项目上独立工作。 任何现有复刻都默认对其上游仓库进行更改。 您可以随时修改此选项。” <br />
    > [GitHub Desktop 官方文档](https://docs.github.com/zh/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-and-forking-repositories-from-github-desktop?platform=windows#about-local-repositories)


## 探索 GitHub Desktop

### 顶部工具栏

当打开任意一个仓库后，*GitHub Desktop* 的顶部工具栏会变成如下的样子：

![](/img/7/3/gh-desktop-ui-01.png)
[source](https://docs.github.com/assets/cb-147208/mw-1000/images/help/desktop/explore-github-desktop.webp)

- `Current Repository`：显示当前仓库的名称，点击后会弹出下拉菜单，可以选择切换至其他仓库。

- `Current Branch`：显示当前分支的名称，点击后会弹出下拉菜单，可以查看当前仓库的所有分支，切换分支或创建新分支。此外，当仓库创建拉取请求后，也能通过该下拉菜单查看。

- `Publish repository` 将本地仓库发布到 *GitHub* 上，出现该情况的原因是此仓库还未发布至 *GitHub*。当仓库发布后，工具栏这部分会根据当前分支和仓库的状态而改变，用来在本地和远程仓库之间进行同步。 <br />

    大致分为以下两种情况：

    - `Fetch origin`：拉取远程仓库的最新内容，若远程仓库有更改，点击后会将远程仓库的最新内容拉取到本地仓库。
    - `Push origin`：将本地仓库的最新内容推送到远程仓库，若本地仓库有更改提交，点击后会将本地仓库的最新内容推送到远程仓库。


### 更改列表

当打开任意一个仓库后，可在 *GitHub Desktop* 左侧栏中找到“**更改**”和“**历史记录**”视图，如下图所示：

![](/img/7/3/gh-desktop-ui-02.png)
[source](https://docs.github.com/assets/cb-147039/mw-1000/images/help/desktop/changes-and-history.webp)

- `Changes`：显示当前分支中的文件已经做出但尚未提交到本地仓库的更改，包括文件的新增、修改和删除。点击文件名可以查看文件的具体更改内容。 <br />
在底部有 `Summary` 和 `Description` 两个文本框，用于填写提交的概要和描述，其中 `Summary` 为必填项。点击最下方 `Commit to xxx` 按钮（`xxx` 为当前分支的名称），即可将更改提交到本地仓库。

- `History`：显示仓库当前分支上的提交历史记录，点击每个 `Commit` 可以在右侧查看该提交中每个文件的“差异”。 <br /> 
差异只显示文件已更改的部分（新增或删除），而不是文件的全部内容。


### 更改的提交与推送

当对本地仓库中的文件进行更改后，可以进行更改的提交和推送。前者是针对本地仓库的操作，后者是针对远程仓库的操作。

进行更改的提交和推送需要经过以下几个步骤：

1. 对本地仓库中的文件进行一些更改。（此步骤为必须步骤）

2. 切换至更改列表中的 `Changes` 视图，查看更改列表中的更改。 <br />
文件左侧的复选框表示是否将该文件的更改提交到本地仓库。 <br />
若提交时只需要提交部分文件的更改，只勾选需要提交的文件即可。

3. 在 `Changes` 视图底部输入提交消息。头像右侧为提交的“Summary（摘要）”，在其中键入本次提交的简短描述，必填项。 <br />
下方是提交的“Description（说明）”，在其中键入较长的详细描述，这样有助于其他人理解本次提交的内容，非必填项。 <br />

![](/img/7/3/gh-desktop-commit-01.png)

4. 点击 `Commit to xxx` 按钮（`xxx` 为当前分支的名称），即可将更改提交到本地仓库。

5. 点击顶部工具栏中的 `Push origin` 按钮，即可将本地仓库的最新内容推送到远程仓库。

   - 此处的按钮随 *Git* 工作流程的状态而改变。
   - `Push origin`：其中的 `origin` 表示远程仓库的别名。

> Push origin意味着您正在将更改推送到名为 origin 的远程仓库（默认克隆/创建的远程仓库）。除非将新提交推送到 GitHub，否则计算机上的项目存储库和 GitHub.com 上的项目存储库之间会存在差异。这使得您可以本地工作，并且只有当准备好时才将更改推送到 GitHub.com。
> 
> [GitHub Desktop 官方文档](https://docs.github.com/zh/desktop/installing-and-configuring-github-desktop/overview/creating-your-first-repository-using-github-desktop#part-5-making-committing-and-pushing-changes)


### 管理分支

> 分支的相关概念请参阅本教程中的 *Git* 部分

*GitHub Desktop* 提供了完整的 *Git* 分支管理功能，
您可以在仓库中的默认分支之外创建、切换和删除分支。 <br />
在完成该分支工作后，可以便捷的创建拉取请求，将分支合并到默认分支中。


#### 创建分支

> 创建的首个新分支将基于默认分支。若有多个分支，请注意在创建新分支时选择的基础分支。

1. 点击顶部工具栏中的 `Current Branch` 下拉菜单，选择 `New Branch` 按钮。

2. 在弹出的对话框中输入新分支的名称，选择基础分支，点击 `Create Branch` 按钮即可创建新分支。

> 若要从之前的某次提交中创建分支，请参阅“[从以前的提交创建分支](https://docs.github.com/zh/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/managing-branches#creating-a-branch-from-a-previous-commit)”。


#### 发布分支

将新创建的分支发布到 *GitHub* 上，以便其他人可以查看和使用。

1. 点击顶部工具栏中的 `Current Branch` 下拉菜单，切换至需要发布的分支。
    ![](/img/7/3/gh-desktop-publish-branch-01.png)
    [source](https://docs.github.com/assets/cb-77133/mw-1000/images/help/desktop/select-branch-from-dropdown.webp)

2. 此时工具栏右侧会变成 `Publish Branch` 按钮，点击即可将分支发布到 *GitHub* 上。
   ![](/img/7/3/gh-desktop-publish-branch-02.png)
   [source](https://docs.github.com/assets/cb-35984/mw-1000/images/help/desktop/push-to-origin.webp)
