拉到第二个远程存储库:仅推送

时间:2018-12-10 12:48:22

标签: git

我有自己的Ubuntu服务器和裸存储库。我从三个位置将其推入/拉出:

  • 使用ssh协议的两台个人计算机。
  • 使用文件协议在另一位置的同一服务器

我想在我的一个项目的github上复制一个副本,但是我绝不会从中撤出,只能推送,以公开访问我的项目。所以我想要的工作流程是:

  • 我对任何本地存储库进行任何更改。
  • 我将更改推送到我自己的服务器上。
  • 在其他两台机器中的任何一台上,我都会拉动。
  • 当我满意时(由于当前的变化,因为我一直都很满意),我想cd到我的裸仓库文件夹,然后从那里推送到github服务器。 / li>

我更喜欢从裸仓库中推送,因为我想拥有一个集中的站点,我知道该站点将始终是最新的,就像它是升级github存储库(带有这么多ssh的官方场所)一样连接,通常会因在错误的位置上而导致陷阱,因此我想充分了解自己的位置。

我该怎么做?另外,是否有一种方法可以为特定的本地存储库(例如,裸机)配置禁止从特定的远程站点进行拉取? (即使是错误的情况,我也不想从github仓库中撤出,因为有时我的工作流程中包含一些脚本魔术)。

1 个答案:

答案 0 :(得分:2)

听起来您可以通过以下方式获得想要的东西:

  • 仅在裸存储库上配置GitHub远程服务器(这样,它在其他任何地方都不可用,因此您不会意外地推入或拉出它)。
  • 配置单独的推入和拉入URL。由于您希望能够推动而不是拉动:

    git remote add github file:///dev/null
    git remote set-url --push github git@github.com:you/your_repo
    

    这将配置为仅推送式遥控器:尝试拉动将导致错误。