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

此版本的 GitHub Enterprise 将停止服务 此版本的 GitHub Enterprise 已停止服务 2019-07-12. 即使出现严重安全问题,也不会发布补丁。要获得更好的性能、更高的安全性和全新功能,请升级到 GitHub Enterprise 的最新版本。 要获取有关升级的帮助,请联系 GitHub Enterprise 支持部门

将子文件夹拆分成新仓库

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

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

  1. 打开终端终端Git Bash终端

  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

    The repository should now only contain the files that were in your subfolder.

  6. Create a new repository on GitHub Enterprise.

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

    Copy remote repository URL field

    Tip: For information on the difference between HTTPS and SSH URLs, see "Which remote URL should I use?"

  8. 检查仓库现有的远程名称。 For example, origin or upstream are two common choices.

    $ 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

问问别人

找不到要找的内容?

联系我们