发布Git repo而不披露功能分支中的工作

发布Git repo而不披露功能分支中的工作,git,github,gitlab,publishing,privacy,Git,Github,Gitlab,Publishing,Privacy,我希望发布一个Git存储库的master分支(包含接受同行评审的论文的模拟代码),但不披露作为正在进行的研究的一部分在单独分支上所做的工作。最终,这部作品将被出版(届时我将把它合并到master) 我相当肯定这可以通过以下步骤来实现: 创建新的回购协议 在本地将私有原始回购协议设置为远程,例如secret git pull secret master 设置可公开使用的源站遥控器 git-push-u原始主机 然而,我听过太多关于明文密码的恐怖故事,这些密码出现在公开的Git回购协议中等。我想

我希望发布一个Git存储库的
master
分支(包含接受同行评审的论文的模拟代码),但不披露作为正在进行的研究的一部分在单独分支上所做的工作。最终,这部作品将被出版(届时我将把它合并到
master

我相当肯定这可以通过以下步骤来实现:

  • 创建新的回购协议
  • 在本地将私有原始回购协议设置为远程,例如
    secret
  • git pull secret master
  • 设置可公开使用的
    源站
    遥控器
  • git-push-u原始主机
然而,我听过太多关于明文密码的恐怖故事,这些密码出现在公开的Git回购协议中等。我想从真正了解Git内部运作的人那里得到确认,来自其他分支机构的信息确实不包含在公开的回购协议中


如果这是相关的(尽管我认为不是),公共Git repo将托管在Github或我们大学的Gitlab实例上。

我建议将所有公共代码放入一个单独的公共repo中。@evolutionxbox是的,这就是我建议我计划的。公共回购协议将与私人回购协议分开进行开发。尽管如此,我还是希望使用整个主分支,而不仅仅是当前
头的硬拷贝文件,来保存提交历史记录,并能够轻松地将未来的工作合并到公共版本中。创建一个本地存储库,假装是公共存储库,然后在那里执行步骤。然后转到这个新的存储库并尝试
git show XXX
,其中XXX是您不想公开的提交的散列。如果你收到一条错误信息,它就不在那里,如果你得到了内容,它就在那里,你做错了什么。不过,推动一个分支机构只应包括推动该分支机构历史所必需的承诺。@LasseVågsætherKarlsen好的一个。冒着看似偏执的风险,我知道回购协议中仍然包含信息的案例,即使与任何承诺无关。如果你能消除这些顾虑,并将你的评论作为回答,我很乐意接受。