0

我有一个充当 git 服务器的中央服务器,我从另一台电脑推送我的更改。我也与另一位开发人员并行工作。他在 git 服务器中准备了一个钩子,所以当我们推送它时,它会拉取任何更改。

我们现在想要做的也是从生产服务器中提取。我们使用两个主要分支(master 和 stable),所以当我们决定提交一些稳定的东西时,我们希望生产服务器以任何方式拉取它。我不太确定是否可以按需拉动,但我几乎没有发现关于这方面的信息。你有什么主意吗?提前致谢。

4

2 回答 2

1

您的问题并不完全清楚,需要有关您的设置的更多详细信息。

如果您想拉入您的生产服务器(或从中央服务器推送到您的生产服务器),并且如果您使用像update,post-receive或之类的钩子post-update,您可以轻松地制作它们,pull或者push仅当您提交到稳定分支时。

update以中央服务器上的钩子为例,它需要三个参数:

- the name of the ref being updated,
- the old object name stored in the ref,
- and the new objectname to be stored in the ref.

通过检查 ref 的名称是您想要的( stable )然后对生产服务器执行pushorpull将帮助您实现所需的选择性更新。

http://git-scm.com/docs/githooks

于 2011-07-04T18:09:26.343 回答
0

您不能推送到生产服务器,因为 a)默认情况下 git 不会推送到非裸存储库,并且 b)如果您强制它,它只能更新存储库,而不是工作目录。您必须进入生产存储库目录并从那里拉取。您可以使用中央存储库上的接收后挂钩自动执行此操作,并且您应该准备好处理文件所有权问题。

于 2011-07-05T12:34:19.663 回答