我们正在学习 Git,并且只想推送到我们的主 Git 服务器(git.example.com)。必须部署(基于 repo)到其他服务器,例如我们的开发网络服务器 (dev.example.com) 和 Redmine (redmine.example.com) 项目管理服务器。
我们知道这可以通过以下的小配置来完成:.git/config
在工作站上,例如:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://git.example.com/testing.git
# Development server only needs to serve the files.
url = https://dev.example.com/testing.git
# Redmine must be a bare one.
url = https://redmine.example.com/testing.git
我们对上述解决方案的看法。首先,这会消耗额外的带宽/上传。其次,我们不喜欢必须在客户端配置:.git/config
. 无论如何至少在 git.example.com 上配置它?
对于任何有同样问题的人来说,这个网站确实帮助了我们很多:使用 git 进行网站维护,专业的方式。您可以在该页面底部找到的小片段:
根据您的需要,您可能需要稍微调整此过程。假设您只想将更改从 git.example.com 上的裸存储库推送到登台服务器,而不是直接从您的家用计算机。您可以通过将 remote.staging.push 配置选项更改为 read
refs/remotes/origin/master:refs/heads/master
而不是refs/heads/master:refs/heads/master
. 如果您有多个开发人员需要能够推送到登台服务器,这可能会很有用。
我们并不完全理解这种可能的解决方案。但听起来它可以解决我们的问题。我们也在通读 Git 文档,并会及时通知你们。
非常感谢任何帮助。提前致谢。