如何复制仓库并过滤掉所有提交说明

时间:2017-12-01 18:22:27

标签: git github git-filter-branch

我们想开源一个我们已经在内部工作一段时间的图书馆。

问题在于我们使用Phabricator并在提交时,其描述包含有关代码审查的详细信息,有时还包含敏感数据。提交标题本身不包含此类敏感信息。

我们希望将整个repo复制到一个新的repo中,并保持提交历史记录不变(即标题,作者,差异等),但只删除描述。

因为我们正在使用Phabricator,所以我们只有一个分支(master)。

我想我们可以git filter-branch使用--commit-filter选项,但我的专业知识就此停止。

1 个答案:

答案 0 :(得分:3)

您可以使用--msg-filter的{​​{1}}开关。对于每次提交,它通过标准输入接收提交消息,并在其上应用给定的“脚本”。在您的情况下,您可以只保留提交消息的第一行(标题):

git filter-branch