我一直在我的本地机器上玩git,一切都有意义,直到它涉及到一个远程和多个开发人员,我开始感到困惑。
我的目标是建立一个“半公共”开发站点,一组4人可以工作,并在现场准备时将更改推送到实际站点。我们需要将dev站点放在公共Web服务器上,以便我们可以在推送更改之前获得批准。安全性并不是一个大问题,所以我打算只使用一个简单的.htaccess来限制访问。并非所有的更改都需要获得批准,但我希望开发站点保持最新状态。
最大的挑战是我们4个人中有2个是设计师,所以改变和推动它的整个过程需要快速而简单。它们习惯于对网站进行更改。我现在不想用键盘快捷键做一个10步的过程来做他们正在做的事情。
有什么建议吗?
答案 0 :(得分:4)
答案 1 :(得分:3)
在进一步讨论之前,我会非常清楚地表明git是不的Web部署工具。 Capistrano和朋友是优秀的解决方案,对复杂系统是强制性的。但是,如果你有一个足够简单的站点并且不关心原子部署,依赖关系,强制进程(确保所有更改都是QAed等)等等,你有时可以使用post-receive hook来实现强迫git结账。然后,部署到网站的过程将是推送到特殊存储库。你可以有一个用于QA的存储库和一个用于生产的存储库,或者让钩子检查被推送到的分支并找出以这种方式更新的分支。
有关自动结帐的简单收件后挂钩的详情,请参阅http://toroid.org/ams/git-website-howto。
当然,您也可以使用post-receive hook调用实际的Web部署系统来处理上面提到的一些问题。