我应该如何设置我的Git存储库以便能够在两个位置推送并仍然有一个工作目录?

4 git

我有一台个人笔记本电脑和一个开发盒,想要设置以下事项:

  1. 我希望我的代码可以在两台机器上运行.(这意味着我不能拥有--bare回购.)
  2. 我想在笔记本电脑上开发.
  3. 我想不时推送开发盒.
  4. 这主要用于Web开发.

我尝试使用dev框中的代码初始化Git repo并克隆到我的笔记本电脑上.我无法将更改推送到dev框.它给了我一个错误,我正在推动一个非裸的回购.

然后我尝试了--barerepo,它工作,但后来我无法运行开发框上的代码.(或者我可以吗?)

关于如何实现这种设置的任何想法?

Gre*_*ill 7

解决此问题的一种方法是创建第三个 repo(您可以将其视为"主"存储库)--bare.要共享更改,您可以从一台计算机上推送到裸存储库,然后从另一台计算机中提取.

如果您将此裸仓库放在Web框中,则可以设置一个提交后挂钩,以自动将主仓库中的文件提取到Web服务器使用的(非裸)仓库.

我通常不会设置这样的post-commit钩子,但我的工作流程通常是:

  • 在本地进行更改(笔记本电脑)
  • 确保它在测试环境中工作
  • 承诺
  • 推动裸机回购
  • 在Web服务器上,从裸仓库拉到工作目录