Git 如何创建';私人叉子';,与原点保持同步,并向后推?
我已克隆,必须私下进行一些修改(例如输入付款信息)。Github不允许我私下进行分岔回购,说我应该这样做 遵循他们的指示对我不起作用(遇到一些错误,在他们的支持下进行处理)。尽管如此,我还是不明白流程——我需要能够做到所有这些:Git 如何创建';私人叉子';,与原点保持同步,并向后推?,git,github,pull-request,Git,Github,Pull Request,我已克隆,必须私下进行一些修改(例如输入付款信息)。Github不允许我私下进行分岔回购,说我应该这样做 遵循他们的指示对我不起作用(遇到一些错误,在他们的支持下进行处理)。尽管如此,我还是不明白流程——我需要能够做到所有这些: 需要时从原始回购获取更新 保持至少一个存储库私有 进行一些更改并将其推回到原点。也许这需要一个额外的公共存储库 我不确定如何将所有这些同步在一起的最佳实践是什么。有什么建议吗?如果您不想在远程专用服务器上强制提交«保存»它们,只需在只读版本(实际上是本地版本)上进行简单
我不确定如何将所有这些同步在一起的最佳实践是什么。有什么建议吗?如果您不想在远程专用服务器上强制提交«保存»它们,只需在只读版本(实际上是本地版本)上进行简单克隆即可 否则,您可以使用推送您的私人物品:
$ git clone … # the original project
$ git remote add ghost git@bitbucket.org/your_own_repo.git
$ git fetch origin # fetch the original
$ git push ghost master # push the head master into your own repo
当您需要通过原始项目进行更新时:
$ git pull origin *the_branch*
并将数据推送到:
$ git push ghost *the_branch*
但是就像他说的,我看不出这有什么意义。为什么不以正常的方式贡献呢?如果您的私有修改是更私有的配置值,那么:
- 在git回购(任何git回购)中根本不要对这些值进行版本化:意外地将它们推到不该推到的地方的风险太高
- 将它们存储在另一个引用中(任何允许您保存文件的云服务,甚至可能是加密的):这里不需要“私有分叉”
- 只有该配置文件的模板版本和具有公共值的文件版本
- 使用内容筛选器驱动程序可以:
- 检查您是否在正确的环境(如您的计算机)中签出Git回购
- 如果是这样,请访问其他引用,获取值并使用正确的(私有)值生成最终配置文件
具体示例请参见。如果您退回到公共回购,您所有的私人修改都将公开,那么有什么意义呢?@JBNizet-我有一些私人修改我想做,还有一些我想公开。我想我需要两个存储库——公共存储库和私有存储库。我的问题是如何整齐、一致和定期地将我的公共回购协议的变化导入私人回购协议?