将 BFG 的结果存储到 Gitlab 中的新项目
Storing results of BFG to new project in Gitlab
我已经成功(我认为!)使用 BFG 从镜像到本地驱动器上的 gitlab 项目中删除了大文件。我不想替换现有的 gitlab 项目(出于安全原因),而是想推送到一个新的测试 gitlab 项目。这是我到目前为止成功完成的命令:
git clone --mirror git@git.domain.com:architecture-team/IOMobile.git
java -jar bfg.jar --strip-blobs-bigger-than 100M IOMobile.git/
cd IOMobile.git
git reflog expire --expire=now --all
git gc --prune=now --aggressive
这些命令似乎已经成功了,现在我该如何将原点重置为:
git@git.domain.com:architecture-team/testiomobile.git
...然后将镜像推入新项目?我不确定如何在镜像上重置原点,并想确保我没有更改原始项目。
我只做一个简单的吗
git push
或者我需要
git push --mirror
感谢您的帮助
-欧文
我认为在这种情况下,是否指定 --mirror
并不重要。由于您已经使用 --mirror
标志克隆了它,因此正常的 git 推送将更新远程服务器上的所有引用。这也在 bfg 文档中进行了描述:https://rtyley.github.io/bfg-repo-cleaner/
但是您可能会 运行 陷入困境。如果您在推送时看到此错误消息:
remote: GitLab: You are not allowed to force push code to a protected branch on this project.
然后您必须在 URL https://git.domain.com/architecture-team/testiomobile/-/settings/repository
的 GitLab 项目设置中启用 Allow force push
选项
推送后您应该再次禁用 Allow force push
。
我已经成功(我认为!)使用 BFG 从镜像到本地驱动器上的 gitlab 项目中删除了大文件。我不想替换现有的 gitlab 项目(出于安全原因),而是想推送到一个新的测试 gitlab 项目。这是我到目前为止成功完成的命令:
git clone --mirror git@git.domain.com:architecture-team/IOMobile.git
java -jar bfg.jar --strip-blobs-bigger-than 100M IOMobile.git/
cd IOMobile.git
git reflog expire --expire=now --all
git gc --prune=now --aggressive
这些命令似乎已经成功了,现在我该如何将原点重置为:
git@git.domain.com:architecture-team/testiomobile.git
...然后将镜像推入新项目?我不确定如何在镜像上重置原点,并想确保我没有更改原始项目。
我只做一个简单的吗
git push
或者我需要
git push --mirror
感谢您的帮助 -欧文
我认为在这种情况下,是否指定 --mirror
并不重要。由于您已经使用 --mirror
标志克隆了它,因此正常的 git 推送将更新远程服务器上的所有引用。这也在 bfg 文档中进行了描述:https://rtyley.github.io/bfg-repo-cleaner/
但是您可能会 运行 陷入困境。如果您在推送时看到此错误消息:
remote: GitLab: You are not allowed to force push code to a protected branch on this project.
然后您必须在 URL https://git.domain.com/architecture-team/testiomobile/-/settings/repository
的 GitLab 项目设置中启用Allow force push
选项
推送后您应该再次禁用 Allow force push
。