git - 如何创建 'private fork' ,与原点保持同步并推回?

标签 git github pull-request

我已经克隆了a github project ,并且必须私下进行一些修改(例如输入付款信息)。 Github 不允许我将 fork 存储库设为私有(private),说我应该 duplicate it instead .

按照他们的指示对我不起作用(出现一些错误,在他们的支持下进行处理)。尽管如此,我还是不明白流程 - 我需要能够完成所有这些:

  1. 在需要时从原始存储库获取更新。
  2. 至少将一个存储库设为私有(private)。
  3. 进行一些更改并将其推回原点。也许这需要一个额外的公共(public)存储库。

我不确定如何将所有这些同步在一起的最佳实践是什么。有什么建议给我吗?

最佳答案

如果您不关心将提交“保存”到远程私有(private)服务器上,只需在只读版本(实际上是本地版本)上进行简单的克隆即可。

否则,您可以使用Bitbucket推送您的私有(private)内容:

$ git clone … # the original project
$ git remote add ghost <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="96f1ffe2d6f4ffe2f4e3f5fdf3e2b8f9e4f1" rel="noreferrer noopener nofollow">[email protected]</a>/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*

但是就像 JB Nizet 所说,我不明白这里有什么意义。为什么不以正常的方式做出贡献?

关于git - 如何创建 'private fork' ,与原点保持同步并推回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14038177/

相关文章:

git - Atlassian Stash 表示第二个 pull 请求已远程 merge

git - Git Bash 中的西里尔字母

Git:以编程方式检查是否有任何内容上演

git - 我如何从一个 fork 的 repo 中制作一个 PR,只针对某些文件,但对它们进行所有提交?

git - 克隆/推送 Git Repos 时出错 443 : Bad access, 但未使用代理

git - 缩小 git repo

git - 如何将另一个文件添加到我的 pull 请求中?

git - 将特定的 Git 提交导出为补丁

git -/usr/bin/env : ‘bash\r’ : No such file or directory

github - 是否可以不为自述文件更新运行 github 操作?