接下来的内容是这样的。我们的项目有两个分支:
> git branch
> * master
> development
我们还有两个遥控器:
> git remote
> heroku_live
> heroku_dev
因此,实际上每个分支都有自己指定的远程分支。
master
分支推送到 heroku_live
,development
分支推送到 heroku_dev
,这使我们可以拥有开发的沙盒环境。我们知道我们可以在本地服务器上运行开发分支,但是有时我们想向客户演示功能,因此我们有一个 heroku_dev
。现在这里的问题(或潜在问题)是可能会有人不小心将开发分支推送到线上服务器,反之亦然。我们如何防止这种情况发生?是否有一种方法可以限制分支可以推送到哪些远程分支?
git push heroko_live development:master
你仍然可以这样做,因为 pre-receive 钩子不知道你正在推送的本地分支。 - Vampire