从git repo复制单个分支并使其独立

时间:2019-04-01 05:42:39

标签: git git-branch git-clone git-mirror

我有一个git repo,说“ MyRepo”,具有以下结构,branch1,branch2,标签等。 我想创建一个新的git repo“ EasyStart”,其中的代码和历史记录仅是branch2,并且我不需要MyRepo中的任何其他东西,例如branch1,标签等。而且,我不希望与MyRepo建立任何其他链接或连接。因此,一旦EasyStart仓库被设置,它就只有历史和分支1的代码,因此,在EasyStart上进行的任何更新/更改都不会反映在MyRepo中,反之亦然。我该如何实现?

1 个答案:

答案 0 :(得分:1)

您可以通过使用临时存储库进行清理来实现此目的。 步骤将是:

  1. 克隆原始存储库
git clone <old repo>
  1. 将其推送到新的临时存储库
git remote set-url origin <temp repo>
git remote -v
git push origin
  1. 删除所需的所有分支(本地和远程)
git fetch
git push origin --delete branch1
git branch -D branch1
  1. 删除所有标签(本地和远程)
git fetch
git push origin --delete $(git tag -l)
git tag -d $(git tag -l)
  1. 删除遥控器并添加新的(最终)遥控器,然后将其推入。这应该给您一个全新的开始。
git remote set-url origin <temp repo>
git remote -v
git push origin