我想开始使用版本控制系统(git)来pipe理在网站上工作的多个网站开发人员。 这样,我们都可以看到谁在什么时候做了什么改变。
我做了一些search,发现这个指导推动代码到一个活的服务器。 我的git知识并没有超出简单的提交和推/拉,所以我有一些关于这样做的问题。
将代码推送到一个活的服务器似乎有点冒险。 将生产代码保存在主分支中,并将新function/错误修复放入单独的分支中是否可行? 那么其他的开发者在把它们合并成主人之前,可以拉入那些分支并检查它们等等。
我如何pipe理网站docroot的权限? 如果两个不同的用户将他们的代码推送到服务器,那么当他们被发送到文档根目录时,如何让这些文件被www-data:www-data拥有?
首先祝贺! 有一个版本控制系统来pipe理你的代码总是一个好主意。
你的预感是正确的,有两个独立的repo副本,一个用于开发,一个用于实时部署,总是好的,你应该指派一个发布pipe理员来推送实时代码或者有某种程序。
让每个人从开发仓库中推/拉,并保持你的仓库仓库,然后每当代码好的时候,把所有必要的变更从开发仓库推到实时仓库,并从那里推到所有的现场服务器。
关于权限,我的build议是始终以您正在写入的用户身份进行推送,因此,如果您要通过部署用户的ssh十字键(记住,应将其与开发人员分开以避免诱惑)部署到www-data用户,如果不是只是在部署脚本中添加另一个步骤来chown文件