Pro*_*imo 1 git git-merge git-rebase git-remote
我有一个Git仓库,在不同分支上有多个项目
我想将它们分解为不同的独立存储库。我已经为每个仓库创建了新的仓库。我希望每个分支及其所有提交历史记录都移到新的单独存储库中。
如果每个分支仅包含相应的代码,那么这很简单。使用来创建新的repo实际上甚至更简单git clone --single-branch --branch <original-repo-url>,但是如果您已经init编辑过并且只想引入历史记录,则可以执行以下操作
git fetch <original-repo-url> +frontend:master
Run Code Online (Sandbox Code Playgroud)
如果您还没有在新的仓库中创建第一个分支,那么您将得到奇怪的行为-因此,在这种情况下,您将只创建一些虚拟提交,然后从分支中分离出来,这样更新就可以通过了。
git commit --allow-empty -m temp
git checkout --detach
git fetch <original-repo-url> +frontend:master
git checkout master
Run Code Online (Sandbox Code Playgroud)
另一方面,如果您的每个分支都包含所有代码,并且您想重写每个“新”存储库的历史记录以仅包括相关代码,那么您可能要使用git filter-branch。它具有许多选项,因此如果没有更多具体细节,我无法确切地说出您要使用的选项,但是子目录过滤器可能会引起您的兴趣。
网址为https://git-scm.com/docs/git-filter-branch的文档
| 归档时间: |
|
| 查看次数: |
298 次 |
| 最近记录: |