只保留 Git 历史记录的标签

问题描述

假设我有以下 Git 历史记录:

* (develop) commit I
|
* (master) [v1.1] commit H
|
* commit G
|
* [v1.0] commit F
|
* commit E
|
| * (feature-A) commit D 
|/
* [v0.1] commit C
|
* commit B
|
* commit A
|
* Initial commit

我需要推送另一个远程(在同一个本地存储库中,或在另一个本地存储库中)只有原始存储库中的标签的截断版本。像下面这样:

* [v1.1] commit H’
|
* [v1.0] commit F’

如你所见,我需要:

  • 删除的分支 feature-A & develop
    • 然后,提交 commit Dcommit I删除
  • commit H’ 是提交 commit G 的压缩,以及 commit H
  • commit F’ 是提交 commit E 的压缩,以及 commit F
  • 标签 v0.1 不会出现在结果树中
  • 在结果树中重写姓名和电子邮件作者

我读过 git-filter-repo 可以提供帮助,但我不知道如何使用它。

目标是将代码推送到公共存储库(以满足要求我的团队开源项目的要求),但我们希望隐藏一些私人数据,例如开发人员的姓名和内部 URL 等.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)