# 使用 GitHub Desktop 创建第一个仓库

无需使用命令行即可创建 GitHub Desktop 和管理 Git 存储库。

## 简介

GitHub Desktop是一个免费的开放源代码应用程序，可帮助你处理托管在或其他 Git 托管服务上的GitHub代码。 使用 GitHub Desktop时，可以在图形用户界面中执行 Git 命令，例如提交和推送更改，而不是使用命令行。 有关详细信息，请参阅“[关于 GitHub Desktop](/zh/desktop/overview/about-github-desktop)”。

完成本指南后，你将使用 GitHub Desktop 创建存储库，对该存储库进行更改，并将这些更改发布到 GitHub。

安装 GitHub Desktop 并登录 GitHub 或 GitHub Enterprise 后，你就可以创建并克隆教程仓库。 本教程将介绍使用 Git 和 GitHub 的基础知识，包括安装文本编辑器、创建分支、进行提交、推送到 GitHub，以及发起拉取请求。 如果您在 GitHub Desktop 上还没有任何仓库，则可以查看本教程。

我们建议你先完成本教程；但如果你想通过创建新的 Git 仓库来探索 GitHub Desktop，本指南将引导你使用 GitHub Desktop 处理 Git 仓库中的工作。

## 第 1 部分：安装 GitHub Desktop 并验证您的账户

您可以在任何受支持的操作系统上安装 GitHub Desktop。 安装应用后，您需要先登录，并在 GitHub 或 GitHub Enterprise 上验证您的账户，然后才能创建和克隆教程仓库。

有关安装和身份验证的详细信息，请参阅“[设置 GitHub Desktop](/zh/desktop/installing-and-authenticating-to-github-desktop/setting-up-github-desktop)”。

## 第 2 部分：创建新仓库

如果你没有任何与 GitHub Desktop 关联的存储库，你将看到“让我们开始吧！”。 视图，从中可以选择创建和克隆教程存储库、从 Internet 克隆现有存储库、新建存储库或从硬盘驱动器添加现有存储库。

![GitHub Desktop 中的“让我们开始吧！”截图 在 GitHub Desktop 中查看。](/assets/images/help/desktop/lets-get-started.png)

### 创建和克隆教程仓库

建议创建和克隆教程存储库，作为第一个项目来练习使用 GitHub Desktop。

1. 单击“创建教程存储库...”。
2. 按照本教程中的提示安装文本编辑器、创建分支、编辑文件、提交、发布到 GitHub和打开拉取请求。

### 创建新仓库

如果你不想创建并克隆教程仓库，可以创建一个新的仓库。

1. 单击“在硬盘上新建存储库...”。
2. 单击“新建存储库”窗口，填写字段，然后选择首选选项。
   * “名称”用于定义你的仓库在本地和 GitHub 上的名称。
   * “Description（说明）”是一个可选字段，可用于提供有关仓库目的的更多信息。
   * “Local path（本地路径）”设置仓库在计算机上的位置。 默认情况下，GitHub Desktop在 *Documents* 文件夹中创建\_一个GitHub\_文件夹来存储存储库，但可以选择计算机上的任意位置。 您的新仓库将是所选位置内的文件夹。 例如，如果将存储库命名为 `Tutorial`，则会在为本地路径选择的文件夹内创建一个名为 Tutorial 的文件夹。
     GitHub Desktop 在下次创建或克隆新存储库时，请记住所选位置。
   * “使用 README 初始化此存储库”创建包含 README.md 文件的初始提交。 自述文件帮助人们了解项目的目的，因此建议选择此选项并加入有用的信息。 当有人访问 GitHub 上的你的存储库时，README 是他们了解你的项目时首先看到的内容。 有关详细信息，请参阅“[关于仓库 README 文件](/zh/enterprise-server@3.22/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes)”。
   * “Git 忽略”下拉菜单可让你添加自定义文件，以忽略本地存储库中你不想存储在版本控制中的特定文件。 如有您要使用的特定语言或框架，您可以从可用的列表中选择选项。 如果你刚开始，可以跳过这个选择。 有关详细信息，请参阅“[忽略文件](/zh/enterprise-server@3.22/get-started/git-basics/ignoring-files)”。
   * “许可证”下拉菜单可让你将开源许可证添加到存储库中的 LICENSE 文件。 您无需担心要立即添加许可证。 有关可用开源许可证以及如何将它们添加到仓库的详细信息，请参阅“[为仓库颁发许可证](/zh/enterprise-server@3.22/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)”。
3. 单击“创建存储库”。

## 第 3 部分：探索 GitHub Desktop

在屏幕顶部的“文件”菜单中，您可以访问设置以及可在 GitHub Desktop 中执行的操作。 大多数操作也有快捷键来帮助您提高工作效率。 要查看键盘快捷方式的完整列表，请参阅[GitHub Desktop 键盘快捷方式](/zh/desktop/overview/github-desktop-keyboard-shortcuts)。

### GitHub Desktop存储库栏

在应用顶部 GitHub Desktop ，你将看到一个显示存储库当前状态的栏。

![GitHub Desktop 应用的屏幕截图。 显示“hello-world”仓库详细信息的栏横跨窗口顶部，并以橙色框出。](/assets/images/help/desktop/explore-github-desktop.png)

* “当前存储库”显示你处理的存储库的名称。 可以单击 **“当前存储库**”切换到其他存储库。GitHub Desktop
* “当前分支”显示你处理的分支的名称。 可以单击“当前分支”来查看存储库中的所有分支、切换到不同的分支或者创建新分支。 在存储库中创建拉取请求后，也可单击“当前分支”查看它们。
* 之所以会显示**发布存储库**，是因为你还没有将存储库发布到GitHub，而你将在下一步中完成此操作。 工具栏的这部分将根据您当前分支和仓库的状态而改变。 不同的上下文相关操作将可以使用，允许您在本地仓库与远程仓库之间交换数据。

### 更改与历史

在左侧栏中，你将找到“更改”和“历史记录”视图。

![GitHub Desktop 应用的屏幕截图。 以橙色框出了左侧边栏，其中包含标有“Changes”和“History”的选项卡。](/assets/images/help/desktop/changes-and-history.png)

* “更改视图”显示你对当前分支中的文件所做的更改，但尚未提交到本地存储库。 在底部有“摘要”和“说明”文本框，以及“提交到分支”按钮。 这是提交新更改的位置。 “提交到分支”按钮是动态的，将显示你提交更改到哪个分支。
* “历史记录”视图查看存储库当前分支上以前的提交记录。 你应该会看到一个在创建存储库时由 GitHub Desktop 创建的“初始提交”。 在提交的右侧，根据你在创建存储库时选择的选项，可能会看到 .gitattributes、.gitignore、LICENSE 或 README 文件。 您可以单击每个文件以查看该文件的差异，也就是提交中对该文件的更改。 差异只显示文件已更改的部分，而不显示文件的全部内容

## 第 4 部分：将存储库发布到 GitHub

创建新仓库时，它仅存在于您的计算机上，您是唯一可以访问该仓库的人。 可以发布存储库以 GitHub 使其在多台计算机上保持同步，并允许其他人访问它。 若要发布存储库，请将本地更改推送到 GitHub。

1. 在存储库栏中，单击“发布存储库”。

![存储库栏的屏幕截图。 标有“发布存储库”的按钮用橙色边框突出显示。](/assets/images/help/desktop/publish-repository.png)

1. 在“发布存储库”窗口中，输入新存储库的详细信息。
   * GitHub Desktop 使用创建存储库时输入的信息自动填充“名称”和“说明”字段。
   * “保持此代码为私有”可让你控制谁可以查看你的项目。 如果将此选项保留为未选中状态，则其他用户 GitHub 将能够查看代码。 如果选中此选项，您的代码将不会公开。
   * “ **组织** ”下拉菜单（如果存在）允许将存储库发布到你所属 GitHub的特定组织。
   1. 单击“发布存储库”。
   2. 您可以在GitHub中访问GitHub Desktop上的存储库。 在文件菜单中，单击“存储库”，然后单击“在 GitHub 上查看”。 这会把你直接带到默认浏览器中的仓库。

## 第 5 部分：进行更改、提交更改和推送更改

现在，您已经创建并发布仓库，已准备好对项目进行修改，并开始提交第一个变更到您的仓库。

1. 若要从内部 GitHub Desktop启动外部编辑器，请在“”GitHub Desktop菜单栏中选择“ **存储库**”，然后单击“ **在编辑器中打开**”。 有关详细信息，请参阅“[在 GitHub Desktop 中配置默认编辑器](/zh/desktop/configuring-and-customizing-github-desktop/configuring-a-default-editor-in-github-desktop)”。

![Mac 上菜单栏的屏幕截图。 在打开的“存储库”下拉菜单下，光标悬停在“在 Visual Studio Code 中打开”上方，以蓝色突出显示。](/assets/images/help/desktop/open-in-editor.png)

1. 对以前创建的 README.md 文件做一些更改。 您可以添加描述项目的信息，比如它做什么，以及为什么有用。 当您对更改满意时，请将它们保存在文本编辑器中。
2. 在 GitHub Desktop中，导航到 **“更改”** 视图。 在文件列表中，你应该会看到 README.md。 README.md 文件左侧的复选框表示你对文件的更改将成为提交的一部分。 以后您可能会更改多个文件，但只想提交对其中部分文件所做的更改。 如果单击文件旁边的复选框，则该文件不会包含在提交中。

![边栏中“更改”选项卡的屏幕截图。 在“README.md”文件左侧，选中的复选框用橙色边框突出显示。](/assets/images/help/desktop/viewing-changes.png)

1. 在“更改”列表底部，输入提交消息。 在您的头像右侧，输入提交的简短描述。 由于我们在更改 README.md 文件，因此“添加关于项目目的的信息”将是比较好的提交摘要。 在摘要下方，您会看到“Description（说明）”文本字段，在其中可以键入较长的提交更改描述，这有助于回顾项目的历史记录和了解更改的原因。 由于你是对 README.md 文件做基本的更新，因此可跳过描述。

![边栏中“更改”选项卡的屏幕截图。 在个人资料图片的右侧，包含提交消息的文本字段用橙色框出。](/assets/images/help/desktop/commit-message.png)

1. 在您的提交消息下方，点击 **提交到 BRANCH NAME**。 提交按钮会显示您当前所在的分支，以确保您提交到想要的分支。
2. 若要将更改推送到 GitHub 上的远程仓库，请点击 **推送到 origin**。

!\[“存储库”菜单栏的屏幕截图。 标有“Push origin”的按钮用橙色边框突出显示。

* **“推送 origin”** 按钮就是你点击后将仓库发布到GitHub的那个按钮。 此按钮根据 Git 工作流程中的上下文而变。 现在应该显示为`Push origin`，旁边有一个`1`，表示有一个提交尚未推送到GitHub。
* **Push origin** 中的“origin”表示你正在将更改推送到名为 `origin` 的远程仓库，在这里，它指的是你在 GitHub 上的项目仓库。 在你向 GitHub 推送任何新的提交之前，你计算机上的项目仓库与 GitHub 上的项目仓库之间会存在差异。 这样，便可以在本地工作，并仅在准备就绪时将更改推送到 GitHub 。

1. 在“更改”视图右侧的窗口中，你会看到接下来可以执行的操作提示。 若要在浏览器中打开位于 GitHub 上的仓库，请点击**在 GitHub 上查看**。

![“无本地更改”屏幕的屏幕截图。 在建议列表中，标有“在 GitHub 上查看”的按钮用橙色边框突出显示。](/assets/images/help/desktop/available-actions.png)

1. 在浏览器中，单击“2 个提交”。 你将在此存储库 GitHub中看到提交列表。 第一个提交应该是你刚刚在 GitHub Desktop 中创建的那个提交。

![GitHub 上存储库页的屏幕截图。 在文件列表上方和时钟图标旁边，一个标有“2 个提交”的链接被橙色标出。](/assets/images/help/desktop/click-two-commits.png)

## 结束语

现已创建存储库，将存储库发布到该存储库 GitHub，进行提交，并将更改推送到 GitHub。 在参与创建或协作的其他项目时，可以遵循这个相同的工作流程。

## 其他阅读材料

* [Git 基本知识](/zh/enterprise-server@3.22/get-started/git-basics)
* [了解GitHub](/zh/enterprise-server@3.22/get-started/learning-about-github)
* [GitHub 入门文档](/zh/enterprise-server@3.22/get-started)