GitHub Desktop(WIP)

专注于重要的事情,而不是与 Git 斗争。无论你是 Git 的新手还是经验丰富的用户,GitHub Desktop 都能简化你的开发工作流程。

GitHub Desktop 官网

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

安装和配置

访问 GitHub Desktop 官方页面,下载并安装。

详细安装步骤请参阅 “安装 GitHub Desktop”。

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

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

必须完成 GitHub 身份验证才能使用 GitHub Desktop 的完整功能。
如需注册 GitHub 账号可以参阅 本教程的 详细注册指导 或 “创建 GitHub 账号”。
关于身份验证的更多信息请参阅 “对 GitHub 进行身份验证”。

基础操作

欢迎界面

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

source

创建示例仓库

非常推荐创建示例仓库,可以快速了解 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 的自述文件(详细内容请参阅“关于自述文件”)。
    • Git ignore:选择后会创建一个 .gitignore 文件,此文件决定本地仓库中不需要进行版本控制的文件或文件类型(即所包含的内容不会进行版本控制),GitHub 附带了一些非常有用的 .gitignore 模板(详细请参阅“忽略文件”)。
    • License:选择仓库的开源许可证(详细内容请参阅“许可仓库”)。

  3. 点击 Create Repository 按钮,完成仓库的创建。
创建新仓库后,它仅存在于本地,可以将仓库发布到 GitHub 上,以便在不同设备上进行同步。
详细步骤请参阅“将仓库推送到 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 的提示,说明该仓库属于其他用户,此时只需要点击下方蓝色字体的提示,忽略用户所有权以完成仓库的添加。

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

克隆仓库

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

  1. 点击左上角的 File Clone Repository
  2. 在弹出的窗口中选择要克隆仓库对应的选项卡,填写相关字段。
    • GitHub.com:从您的 GitHub 账户中选择要克隆的仓库。(这些仓库是您的账号有权限访问的公开仓库和私有仓库。)
    • GitHub Enterprise:从您的 GitHub Enterprise 账户中选择要克隆的仓库。
    • URL:输入仓库对应 URL 或 GitHub 中的仓库名称来克隆仓库。
  3. 选择克隆仓库的本地路径,点击 Clone 按钮,完成仓库的克隆。
    能克隆仓库不代表能够对其进行修改,必须拥有对应仓库的写入权限才能在本地和远程仓库之间进行同步。

    “当您尝试使用 GitHub Desktop 克隆您没有写入权限的仓库时,GitHub Desktop 会自动提示您创建复刻(Fork)。 您可以选择使用复刻参加原始上游仓库,或者在您自己的项目上独立工作。 任何现有复刻都默认对其上游仓库进行更改。 您可以随时修改此选项。”
    GitHub Desktop 官方文档

探索 GitHub Desktop

顶部工具栏

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

source

  • Current Repository:显示当前仓库的名称,点击后会弹出下拉菜单,可以选择切换至其他仓库。
  • Current Branch:显示当前分支的名称,点击后会弹出下拉菜单,可以查看当前仓库的所有分支,切换分支或创建新分支。此外,当仓库创建拉取请求后,也能通过该下拉菜单查看。
  • Publish repository 将本地仓库发布到 GitHub 上,出现该情况的原因是此仓库还未发布至 GitHub。当仓库发布后,工具栏这部分会根据当前分支和仓库的状态而改变,用来在本地和远程仓库之间进行同步。

    大致分为以下两种情况:
    • Fetch origin:拉取远程仓库的最新内容,若远程仓库有更改,点击后会将远程仓库的最新内容拉取到本地仓库。
    • Push origin:将本地仓库的最新内容推送到远程仓库,若本地仓库有更改提交,点击后会将本地仓库的最新内容推送到远程仓库。

更改列表

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

source

  • Changes:显示当前分支中的文件已经做出但尚未提交到本地仓库的更改,包括文件的新增、修改和删除。点击文件名可以查看文件的具体更改内容。
    在底部有 SummaryDescription 两个文本框,用于填写提交的概要和描述,其中 Summary 为必填项。点击最下方 Commit to xxx 按钮(xxx 为当前分支的名称),即可将更改提交到本地仓库。
  • History:显示仓库当前分支上的提交历史记录,点击每个 Commit 可以在右侧查看该提交中每个文件的“差异”。
    差异只显示文件已更改的部分(新增或删除),而不是文件的全部内容。

更改的提交与推送

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

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

  1. 对本地仓库中的文件进行一些更改。(此步骤为必须步骤)
  2. 切换至更改列表中的 Changes 视图,查看更改列表中的更改。
    文件左侧的复选框表示是否将该文件的更改提交到本地仓库。
    若提交时只需要提交部分文件的更改,只勾选需要提交的文件即可。
  3. Changes 视图底部输入提交消息。头像右侧为提交的“Summary(摘要)”,在其中键入本次提交的简短描述,必填项。
    下方是提交的“Description(说明)”,在其中键入较长的详细描述,这样有助于其他人理解本次提交的内容,非必填项。

  1. 点击 Commit to xxx 按钮(xxx 为当前分支的名称),即可将更改提交到本地仓库。
  2. 点击顶部工具栏中的 Push origin 按钮,即可将本地仓库的最新内容推送到远程仓库。
    • 此处的按钮随 Git 工作流程的状态而改变。
    • Push origin:其中的 origin 表示远程仓库的别名。

Push origin意味着您正在将更改推送到名为 origin 的远程仓库(默认克隆/创建的远程仓库)。除非将新提交推送到 GitHub,否则计算机上的项目存储库和 GitHub.com 上的项目存储库之间会存在差异。这使得您可以本地工作,并且只有当准备好时才将更改推送到 GitHub.com。

GitHub Desktop 官方文档

管理分支

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

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

创建分支

创建的首个新分支将基于默认分支。若有多个分支,请注意在创建新分支时选择的基础分支。
  1. 点击顶部工具栏中的 Current Branch 下拉菜单,选择 New Branch 按钮。
  2. 在弹出的对话框中输入新分支的名称,选择基础分支,点击 Create Branch 按钮即可创建新分支。
若要从之前的某次提交中创建分支,请参阅“从以前的提交创建分支”。

发布分支

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

  1. 点击顶部工具栏中的 Current Branch 下拉菜单,切换至需要发布的分支。 source
  2. 此时工具栏右侧会变成 Publish Branch 按钮,点击即可将分支发布到 GitHub 上。 source