我有一个充当git服务器的中央服务器,我从另一台PC推送我的更改。我也与另一位开发人员并行工作。他在git服务器上准备了一个钩子,所以当我们推动它时会拉动任何变化。
我们现在想要做的是从生产服务器拉出来。我们使用两个主要分支(主要和稳定),所以当我们决定提交稳定的东西时,我们希望生产服务器以任何方式提取它。我不太确定是否可以按需提供,但我发现这方面的信息很少甚至没有。你有什么主意吗?提前谢谢。
答案 0 :(得分: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的名称是否是您想要的(稳定),然后对生产服务器执行push
或pull
将帮助您实现所需的选择性更新。
答案 1 :(得分:0)
你不能推送到生产服务器,因为a)默认情况下git不会推送到非裸存储库,而b)如果你强制它,它只能更新repo,而不是工作目录。您必须进入生产存储库目录并从那里拉。您可以使用中央存储库上的post-receive挂钩自动执行此操作,您应该准备好处理文件所有权问题。