美文网首页
git将子文件夹拆分到新的存储库中

git将子文件夹拆分到新的存储库中

作者: nora_mhy | 来源:发表于2018-10-12 10:39 被阅读0次

    来自:https://help.github.com/articles/splitting-a-subfolder-out-into-a-new-repository/

    您可以将Git存储库中的文件夹转换为全新的存储库。如果您创建存储库的新克隆,则将文件夹拆分到单独的存储库时,不会丢失任何Git历史记录或更改。

    1.  打开Git Bash,将当前工作目录更改为要创建新存储库的位置;

    2. 克隆包含子文件夹的存储库

    git clone https://github.com/ USERNAME / REPOSITORY-NAME(克隆的存储库)

    3. 将当前工作目录更改为克隆的存储库。

    cd REPOSITORY-NAME

    4. 从存储库(REPOSITORY-NAME)中的文件中过滤掉其余子文件夹

    运行git filter-branch,提供以下信息:

    FOLDER-NAME:项目中要从中创建单独存储库的文件夹。

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

    BRANCH-NAME:当前项目的默认分支,例如,master或gh-pages。

    git filter-branch --prune-empty --subdirectory-filter FOLDER-NAME BRANCH-NAME(#过滤目录中的指定分支并删除空提交重写)

    存储库现在应该只包含子文件夹中的文件。

    5. 在Github上创建一个新GitHub存储库的快速设置页面的顶部,单击  复制远程存储库URL。

    检查存储库的现有远程名称。例如,origin或者upstream是两种常见的选择。

    git remote -v

    origin https://github.com/ USERNAME / REPOSITORY-NAME .git(fetch)

    origin https://github.com/ USERNAME / REPOSITORY-NAME .git(push)

    6. 使用您在步骤7中复制的现有远程名称和远程存储库URL为新存储库设置新的远程URL。

    git remote set-url origin https://github.com/ USERNAME / NEW-REPOSITORY-NAME .git

    7. 使用新的存储库名称验证远程URL是否已更改。

    git remote -v 

    #验证新的远程URL 

    源https://github.com/ USERNAME / NEW-REPOSITORY-NAME .git(fetch)

    origin https://github.com/ USERNAME / NEW-REPOSITORY-NAME .git(push )

    8. 将更改推送到GitHub上的新存储库。

    git push -u origin BRANCH-NAME

    相关文章

      网友评论

          本文标题:git将子文件夹拆分到新的存储库中

          本文链接:https://www.haomeiwen.com/subject/bfuwaftx.html