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

2018-10-12  本文已影响0人  nora_mhy

来自: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

上一篇 下一篇

猜你喜欢

热点阅读