Skip to main content

此版本的 GitHub Enterprise Server 将于以下日期停止服务 2026-08-25. 已停止发布的版本不受支持。 即使针对重大安全问题,也不会发布补丁。 若要获得更好的性能、改进的安全性和 GitHub Enterprise Server 中的新功能,请参阅升级过程的 Overview。 如需升级帮助,请联系 GitHub Enterprise 支持。

分支

使用GitHub中的分支隔离开发工作、管理默认分支,以及使用拉取请求和分支保护进行有效协作。

关于分支

分支允许你开发功能、修复 bug 或安全地试验存储库包含区域中的新想法。

始终从现有分支创建新分支。 通常,您可能会从仓库的默认分支创建新的分支。 然后,您可以单独处理这个新分支,不受其他人对仓库所做更改的影响。

你创建的用于生成功能的分支通常称为功能分支或主题分支。 请参阅“Managing branches within your repository”。

还可以使用分支发布 GitHub Pages 站点。 请参阅“什么是 GitHub Pages?”。

必须对仓库有写入权限才能创建分支、打开拉取请求、以及删除和恢复拉取请求中的分支。 请参阅“对GitHub的访问权限”。

关于默认分支

在 GitHub 和 GitHub 上创建一个有内容的仓库时,将创建包含单一分支的仓库。 仓库中的第一个分支是默认分支。 默认分支是当任何人访问存储库时显示的分支 GitHub 。 默认分支也是初始分支,当有人克隆存储库时,Git 会在本地检出该分支。 除非指定不同的分支,否则仓库中的默认分支是新拉取请求和代码提交的基础分支。

默认情况下,将 GitHub 任何新存储库中的默认分支 main 命名。

您可以更改现有仓库的默认分支。 有关详细信息,请参阅“更改默认分支”。

您可以为新仓库设置默认分支名称。 有关详细信息,请参阅“管理仓库的默认分支名称”、“管理组织中仓库的默认分支名称”和“在企业中实施仓库管理策略”。

使用受保护分支

受保护的分支可帮助维护人员对重要分支强制执行规则。 受保护的分支可以阻止强制推送或删除、需要状态检查、需要评审、需要代码所有者批准或要求签名提交,然后更改才能合并。

这些保护可帮助团队保持重要分支稳定,并在合并拉取请求之前明确预期。 若要查看拉取请求是否可以合并,请检查拉取请求的 “对话 ”选项卡底部的合并框。请参阅 关于受保护分支

注意

如果你是存储库管理员,则即使拉取请求不符合要求,也可在启用了分支保护的分支上合并拉取请求,除非分支保护设置为“包括管理员”。

比较拉取请求中的分支

拉取请求将头分支上建议的更改与基分支进行比较。 创建拉取请求时,可以更改要比较更改的基分支。 “ 文件更改 ”选项卡显示拉取请求合并后会更改的内容。

差异视图可帮助审阅者在不阅读每个提交的情况下了解更改。 可以查看统一差异、拆分差异、丰富差异或源差异;忽略空格更改;或筛选文件以专注于最相关的更改。

拉取请求的“已更改的文件”选项卡的屏幕截图。 “差异视图”菜单用深橙色框标出。

如果拉取请求超出存储库差异限制,或者某个文件被存储库的 .gitattributes 文件中的规则隐藏,则差异可能不会显示。 请参阅 存储库限制自定义更改的文件在GitHub上的显示方式

三点和两点 Git 差异比较

git diff 命令支持两种比较方法。 拉取请求会显示 GitHub 三点差异。

方法命令它比较的内容
三点git diff A...B分支(合并基)和主题分支最新版本的最新常见提交。
双点git diff A..B基本分支(例如) main的最新状态和主题分支的最新版本。

两点差异直接互相比较两个 Git committish 参考,如 SHA 或 OID(对象 ID)。 打开 GitHub时,必须将两点差异比较中的 Git 提交引用推送到同一存储库或其分支。

请参阅 Pro Git 书籍站点中的 Git 差异选项

关于三点比较 GitHub

由于三点比较使用合并基,因此重点介绍“拉取请求引入的内容”。

使用两点比较时,即使尚未对主题分支进行任何更改,差异也会在更新基本分支时发生更改。 双点比较还侧重于基分支,这可能会使主题分支引入的更改更难理解。

相比之下,三点比较一直显示主题分支自分支分歧以来引入的更改。

频繁合并

为了避免混淆,请经常将基分支(例如 main)合并到主题分支中。 合并基分支时,由双点和三点比较显示的差异是相同的。 建议尽快合并拉取请求。 这鼓励参与者更小地发出拉取请求,我们通常建议这样做。

延伸阅读