Git -永久排除文件(删除)从提交到主



我正在做一个项目,有两个分支:masterdevelop

在主分支中,有一个.github/workflows文件夹用于GitHub Actions。我不希望这个文件夹在develop

不幸的是,一个同事曾经将master合并到develop中(无论出于什么原因),导致develop包含工作流文件夹。现在,develop有这么多的变化,重置到合并前是不可能的。

我已经通过执行git rm .githubdevelop中删除了文件夹。

如何继续将develop合并到master而不丢失master中的github文件夹?

没有什么好办法可以做你想做的事。

这里真正的问题是git并没有设计成在不同的分支上有不同的内容子集,尽管表面上是git专家,github的人们已经决定违背这一事实[1],通过在提交的一个文件中存储逻辑上属于仓库范围的元数据。

他们在他们的文档中没有做得太明显,但是在支持论坛上稍微戳一下就可以确认,真正的工作流集成将默认分支(通常是master)视为"特殊"。在这方面,只是忽略workflows文件的任何版本,而不是该分支当前提交的版本。(他们确实提到,你可以通过在web界面中导航分支或pr来获得文件的其他版本-这可能允许你手动踢掉它们,等等。)

所以如果是我,我不会担心文件存在于其他分支;正如你已经看到的,周期性的"泄漏"会造成比它的价值更多的麻烦。


[1] -如果这种描述似乎不符合他们想要完成的目标…嗯,我想是的。的确,一个"好"字与git仓库的集成会稍微复杂一些;但他们可以提供工具,让用户很容易地与之隔离。

最新更新