git:将两个分支与机密文件合并到一个分支中

git:将两个分支与机密文件合并到一个分支中,git,merge,Git,Merge,我想为一些教程保留两个分支,一个分支S带有一些“机密”更正文件,另一个公共分支p带有相同的文件,但尚未更正(只有一个骨架)。这样一来,我的想法就是在公共回购中只推出P分支机构,而在我的私人回购中保留这两个分支机构。当然,因为这两个分支非常相似,我想确保我可以合并分支S上分支P的更改 所以现在我有了我的秘密分支S,我创建了一个孤立分支p。然后我创建一个commit,其中包含分支P应该包含的所有文件。但是,当我修改分支S并尝试将此更改与分支P(使用--允许不相关的历史记录)合并时,分支S的所有提交也

我想为一些教程保留两个分支,一个分支
S
带有一些“机密”更正文件,另一个公共分支
p
带有相同的文件,但尚未更正(只有一个骨架)。这样一来,我的想法就是在公共回购中只推出
P
分支机构,而在我的私人回购中保留这两个分支机构。当然,因为这两个分支非常相似,我想确保我可以合并分支
S
上分支
P
的更改

所以现在我有了我的秘密分支
S
,我创建了一个孤立分支
p
。然后我创建一个commit,其中包含分支
P
应该包含的所有文件。但是,当我修改分支
S
并尝试将此更改与分支
P
(使用
--允许不相关的历史记录
)合并时,分支
S
的所有提交也会出现在分支
P
历史记录上。。。这样每个人都可以阅读修改过的秘密文件

我尝试使用
merge--squash
,分支
S
的历史不会复制到
p
,但现在的问题是这两个分支保持不相关,因此git无法真正解决任何合并冲突,因为它无法在两个分支之间找到“共同祖先”

你知道我怎样才能解决这个问题吗

谢谢

--编辑--


仔细考虑之后,我认为我需要一个特性,它只推送当前分支的所有提交,而不推送合并分支的提交。有可能吗?

没有,你无法从Git获得你想要的东西。你可以使用cherry pick接近,但这将是非常手动和痛苦的/@torek:好的,谢谢。。。那太糟糕了。。。