我正在做一个项目,有两个分支:master
和develop
。
在主分支中,有一个.github/workflows
文件夹用于GitHub Actions。我不希望这个文件夹在develop
。
不幸的是,一个同事曾经将master
合并到develop
中(无论出于什么原因),导致develop
包含工作流文件夹。现在,develop
有这么多的变化,重置到合并前是不可能的。
我已经通过执行git rm .github
从develop
中删除了文件夹。
如何继续将develop
合并到master
而不丢失master
中的github文件夹?
没有什么好办法可以做你想做的事。
这里真正的问题是git并没有设计成在不同的分支上有不同的内容子集,尽管表面上是git专家,github的人们已经决定违背这一事实[1],通过在提交的一个文件中存储逻辑上属于仓库范围的元数据。
他们在他们的文档中没有做得太明显,但是在支持论坛上稍微戳一下就可以确认,真正的工作流集成将默认分支(通常是master
)视为"特殊"。在这方面,只是忽略workflows
文件的任何版本,而不是该分支当前提交的版本。(他们确实提到,你可以通过在web界面中导航分支或pr来获得文件的其他版本-这可能允许你手动踢掉它们,等等。)
所以如果是我,我不会担心文件存在于其他分支;正如你已经看到的,周期性的"泄漏"会造成比它的价值更多的麻烦。
[1] -如果这种描述似乎不符合他们想要完成的目标…嗯,我想是的。的确,一个"好"字与git仓库的集成会稍微复杂一些;但他们可以提供工具,让用户很容易地与之隔离。