我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们
文章版本: Enterprise Server 2.15

此版本的 GitHub Enterprise 将停止服务 此版本的 GitHub Enterprise 已停止服务 2019-10-16. 即使针对重大安全问题,也不会发布补丁。 For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

将子文件夹拆分成新仓库

您可以将 Git 仓库内的文件夹变为全新的仓库。

如果您创建仓库的新克隆副本,则将文件夹拆分为单独的仓库时不会丢失任何 Git 历史记录或更改。

  1. Open TerminalTerminalGit Bashthe terminal.

  2. 将当前工作目录更改为您要创建新仓库的位置。

  3. 克隆包含该子文件夹的仓库。

    $ git clone https://主机名/USERNAME/REPOSITORY-NAME
  4. 将当前工作目录更改为您克隆的仓库。

    $ cd REPOSITORY-NAME
  5. 要从仓库中的其余文件过滤出该子文件夹,请运行 git filter-branch,提供以下信息:

    • FOLDER-NAME:项目中您要从其创建单独仓库的文件夹。

      提示:Windows 用户应使用 / 来分隔文件夹。

    • BRANCH-NAME:当前项目的默认分支,例如 mastergh-pages

      $ git filter-branch --prune-empty --subdirectory-filter FOLDER-NAME  BRANCH-NAME   # Filter the specified branch in your directory and remove empty commits
        > Rewrite 48dc599c80e20527ed902928085e7861e6b3cbe6 (89/89)
        > Ref 'refs/heads/BRANCH-NAME' was rewritten

      现在,该仓库应仅包含您的子文件夹中的文件。

  6. 在 GitHub Enterprise 上创建新仓库

  7. At the top of your new GitHub Enterprise repository's Quick Setup page, click to copy the remote repository URL.

    创建远程仓库 URL 字段

    提示: 有关 HTTPS 与 SSH URL 之间的差异,请参阅“我应使用哪种远程 URL?

  8. 检查仓库现有的远程名称。 例如,源仓库上游仓库是两种常见选择。

    $ git remote -v
    > origin  https://主机名/USERNAME/REPOSITORY-NAME.git (fetch)
    > origin  https://主机名/USERNAME/REPOSITORY-NAME.git (push)
  9. 使用现有的远程名称和您在步骤 7 中复制的远程仓库 URL 为新仓库设置新的远程 URL。

    git remote set-url origin https://主机名/USERNAME/NEW-REPOSITORY-NAME.git
  10. 使用新仓库名称验证远程 URL 是否已更改。

    $ git remote -v
    # 验证新远程 URL
    > origin  https://主机名/USERNAME/NEW-REPOSITORY-NAME.git (fetch)
    > origin  https://主机名/USERNAME/NEW-REPOSITORY-NAME.git (push)
  11. 将您的更改推送到 GitHub Enterprise 上的新仓库。

    git push -u origin BRANCH-NAME

问问别人

找不到要找的内容?

联系我们