【发布时间】:2021-04-10 07:21:23
【问题描述】:
我想拆分我的存储库,我的结论是我应该创建一个新的存储库,在其中使用 git-filter-repo 删除不需要的部分。
在阅读了大量有关它的文档后,我很确定我应该如何使用git-filter-repo,但我错过了如何以正确的方式执行其他步骤。
这是我想出的方法,但我希望您能就它是否正确,或者我是否缺少某些东西提出建议。 我正在为我的存储库使用 bitbucket,当我试用它时,bitbucket Web 界面非常慢,有时它无法列出分支等。
首先我在 bitbucket 上创建一个新的空仓库 repo2。 然后我执行以下序列:
git clone --bare --mirror https://user@bitbucket.com/workspace/repo1
cd repo1
git filter-repo --path <path to remove> --invert-paths
git remote add origin https://user@bitbucket.com/workspace/repo2
git push --mirror
请注意,git filter-repo 将删除原始远程路径到源。
我不确定是否应该在克隆和推送上使用 --mirror 或其他东西。有些文件说我应该使用git push -u origin --all,但我想在那之后会丢失一些引用。
为什么 bitbucket 列出我的新 repo2 这么慢?它还列出了只有几 kB 的大小,但它似乎包含了我想要的一切。只是服务器更新需要一些时间吗?
【问题讨论】:
-
--allforgit push表示所有分支名称,即refs/heads/*:refs/heads/*。--mirror表示所有引用,因此它也包含标签名称。我猜 Bitbucket 确实只是更新一些统计数据的速度很慢。
标签: git bitbucket git-remote git-filter-repo