【问题标题】:Maintain a private and a public repo simultaneously using git branch with two different clouds使用 git branch 和两个不同的云同时维护一个私有和公共 repo
【发布时间】:2014-12-08 19:06:05
【问题描述】:

首先,我是 git 的新手,正在四处玩耍以了解更多信息。 :)

我将 Github 用于我的公共仓库,将 Bitbucket 用于私人仓库。每当我推送到 github 时,我都会手动删除那些不需要的东西,然后将它们公开推送,然后再将它们粘贴回那里以维护私有 repo。

但是在学习了 git branch 之后,我认为有很多方法可以管理这个,但实际上我不确定。我的想法是:

  • 我会为我的所有公开更改创建一个分支
  • 我将使用 master 进行所有私人更改(反之亦然)
  • 然后在“私人”分支上,我将 git remote add origin 设置为 bitbucket repo HEAD,然后推送内容
  • 在“公共”分支上,我将 git remote add origin 设置为 github repo HEAD,然后推送内容

我走对了吗?如果没有,那我该怎么走?

【问题讨论】:

    标签: git github version-control bitbucket


    【解决方案1】:

    几乎。您可以添加两个遥控器,但它们不能都命名为 origin。我只是将它们命名为 github 和 bitbucket,但实际名称并不重要。然后将适当的远程设置为本地分支的远程跟踪分支:

    git remote add github git@github.com:...
    git remote add bitbucket git@bitbucket.com:...
    
    git branch -u github/public_branch_name public_branch_name
    git branch -u bitbucket/private_branch_name private_branch_name
    
    # syntax is:
    # git branch -u <remote>/<remote_branch_name> <local_branch_name>
    

    在最后两个命令中,最后一个参数是您在本地调用的分支,倒数第二个参数包含在远程调用的分支(斜杠之后)。这两个名称不必相同。你可以轻松做到

    git branch -u github/master public_branch_name
    git branch -u bitbucket/master private_branch_name
    

    并且看到您的存储库的人不会更明智地知道还有其他东西。当然,你必须记住发生了什么。您可以使用git branch --all -vv 查看哪个分支跟踪了什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-21
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 2020-08-10
      • 2018-07-19
      • 2014-05-30
      • 2013-11-07
      相关资源
      最近更新 更多