我可以将 .travis.yml 添加到我之前在回购协议中的所有提交吗?

Can I add a .travis.yml to all my previous commits in a repo?

我刚刚开始使用 Travis-CI 进行构建自动化和部署。

事实是,我现在才意识到我可以使用 Travis-CI 作为在我的其他存储库上自动构建的一种方式,有问题的 2 个是 abcm2ps & abcMIDI

我已经完成了标记我希望部署的每个提交的任务,因此有一个发布的二进制文件可供下载。

我的问题是我是否可以修改每个提交以添加 .travis.yml 文件,以及我将如何去做。有人可以帮忙吗?

您可以重写整个历史记录以包含 .travis.yml,如下所示。首先,将文件复制到存储库之外的某个位置(为方便起见,我将其称为 /src)。然后做:

git filter-branch --tree-filter 'cp /src/.travis.yml .' -- --all

每个提交的树过滤器 运行,它创建的任何新文件都会添加到该提交的树中。在这种情况下,我们将 .travis.yml 复制到每次提交的 repo 的根目录中。 --all 告诉它在所有可见的引用(即分支和标签)上 运行。之后,不再需要/src/.travis.yml,您可以将其删除。