跳至主要内容

在 GitHub Desktop 中同步分支

当提交被推送到 GitHub 上的项目时,您可以通过从远程仓库拉取来保持本地项目的副本同步。

平台导航

关于分支同步

您可以通过拉取自上次同步以来在 GitHub 上添加到分支的任何提交来同步本地分支与远程仓库。如果您从其他设备进行提交,或者多人协作开发项目,则需要同步本地分支以保持分支更新。

当您拉取到本地分支时,您只更新了仓库的本地副本。要更新 GitHub 上的分支,您必须推送更改。有关更多信息,请参阅 "从 GitHub Desktop 推送更改到 GitHub。"。

要将一个分支的更改添加到另一个分支,您可以合并这两个分支。要将同一存储库中另一个分支的更改应用到您的分支,您可以在 GitHub Desktop 上将另一个分支合并到您的分支。要请求将您的分支中的更改合并到同一存储库中的另一个分支,或合并到网络中的另一个存储库中的另一个分支,您可以在 GitHub Desktop 上创建拉取请求。有关更多信息,请参阅“将另一个分支合并到您的项目分支”和“关于拉取请求”。

某些工作流程需要或受益于变基而不是合并。通过变基,您可以重新排序、编辑或将提交压缩在一起。有关更多信息,请参阅“关于 Git 变基”和“将您的项目分支变基到另一个分支”。

从远程拉取到您的本地分支

  1. 在 GitHub Desktop 中,使用 当前分支下拉菜单,然后选择要更新的本地分支。

  2. 要检查远程分支上的提交,请单击获取 origin

    Screenshot of the repository bar. The "Fetch origin" button, displayed with an icon of two arrows forming a circle, is outlined in orange.

  3. 要从远程分支拉取任何提交,请单击拉取 origin使用变基拉取 origin

    Screenshot of the repository bar. The "Pull origin" button, displayed with an icon of a downward-facing arrow, is outlined in orange.

  4. 使用文本编辑器、命令行或其他工具,以您喜欢的方式解决任何合并冲突。有关更多信息,请参阅“解决合并冲突”。

将另一个分支合并到您的项目分支

  1. 在 GitHub Desktop 中,单击 当前分支.

    Screenshot of the repository bar. A button, labeled "Current Branch" with a downward arrow indicating a dropdown menu, is outlined in orange.

  2. 单击选择要合并到 BRANCH 的分支

    Screenshot of the "Current Branch" dropdown view. Below a list of branches, a button, labeled "Choose a branch to merge into my-feature", is outlined in orange.

  3. 单击要合并到当前分支的分支,然后单击将 BRANCH 合并到 BRANCH

    注意:如果存在合并冲突,GitHub Desktop 将在将 BRANCH 合并到 BRANCH按钮上方发出警告。在解决所有冲突之前,您将无法合并分支。

  4. 要将本地更改推送到远程存储库,请在存储库栏中单击推送到 origin

    Screenshot of the repository bar. A button, labeled "Push origin", is highlighted with an orange outline.

将您的项目分支重新定位到另一个分支

  1. 在菜单栏中,选择 **分支**,然后点击 **重新定位当前分支**。

    Screenshot of the menu bar on a Mac. On the expanded "Branch" dropdown menu, the cursor overs over an option labeled "Rebase Current Branch".

    Screenshot of the "GitHub Desktop" menu bar on Windows. In the expanded "Branch" dropdown menu, an option labeled "Rebase Current Branch" is outlined in orange.

  2. 点击您要重新定位到当前分支的分支,然后点击 **重新定位**。

  3. 如果您确定要重新定位,请点击 **开始重新定位**。

  4. 使用文本编辑器、命令行或其他工具,以您喜欢的方式解决任何合并冲突。有关更多信息,请参阅“解决合并冲突”。

  5. 要推送本地更改,请点击 **强制推送 origin**。

    Screenshot of the repository bar. A button, labeled "Force push origin" and displayed with an icon of a double upward arrow, is outlined in orange.

将另一个分支压缩合并到您的项目分支

  1. 在菜单栏中,选择 **分支**,然后点击 **压缩合并到当前分支**。

    Screenshot of the menu bar on a Mac. On the expanded "Branch" dropdown menu, the cursor hovers over an option labeled "Squash and Merge into Current Branch".

    Screenshot of the "GitHub Desktop" menu bar on Windows. In the expanded "Branch" dropdown menu, option labeled "Squash and merge into curre..." is outlined in orange.

  2. 在“压缩合并”窗口中,点击您要合并到当前分支的分支,然后点击 **压缩合并**。

    **注意:** 如果存在合并冲突,GitHub Desktop 会在 **压缩合并** 按钮上方发出警告。在解决所有冲突之前,您将无法压缩合并分支。

  3. 要将本地更改推送到远程存储库,请在存储库栏中单击推送到 origin

    Screenshot of the repository bar. A button, labeled "Push origin", is highlighted with an orange outline.

进一步阅读