所以我搜索了这个网站,我已经阅读了gitimmersion.com上的教程以及其他各种教程,但我仍然有一些挥之不去的问题,我希望有人可以回答。
基本上我有一个网络服务器,在该服务器上我有两个域,dev.domain.com和主站点www.domain.com。
目前,“生产”域名是即将推出的占位符页面,dev.domain.com是实际的工作网站。最终git可以/将用于处理从开发到生产的推送,但截至目前该网站仍处于开发阶段。
最近,由于其他一些人进入该项目,我决定使用版本控制,特别是git。我已将我的开发域的webroot设置为存储库,并将其推送到codebasehq。
这是我感到困惑的地方。
我已经想出了如何检查代码,拉取代码,推送代码,提交提交等等。我还没想到的是实际测试开发的正确方法。让我用一个例子来证明先前的陈述:
当我自己在网站上工作时,我只需要在编辑器中工作,保存文件,刷新页面,确保我没有解析错误,确保工作正常等等。
我现在该怎么做?
我们是否可以在包装盒上拥有帐户并坐在dev.domain.com网站的webroot内并编辑/测试编辑?我们每个人都需要我们自己的小LAMP服务器来测试我们的工作站吗?
我对处理此问题的正确方法感到困惑。如果我检查代码到我的本地机器,我可以编辑文件到我的内容,但我最终只需要进行400次提交/推送只是为了测试事情并在每次忘记分号时进行更正,因为我没办法在本地进行测试。
我错过了什么或者答案就像一样简单“当然你可以在webroot中进行编辑,它会跟踪每个用户的变化”或“不,你在推出代码之前,所有人都需要以自己的方式测试代码“
我之前从未开发过任何协作,所以我习惯于动态编辑/测试,所以请原谅我的无知。
总结一下,以下是我要完成的工作:
三人团队开发网站; dev.domain.com是我的网络服务器上的“测试/开发”区域。在某些时候,www.domain.com将成为生产登陆点。开发团队的所有成员都在服务器上拥有ssh访问权限和帐户。
如何将所有这些与git结合在一起,请记住,在我的家用机器上需要本地测试环境并不理想(但可行),并且我已经在codebasehq.com上建立了一个帐户作为主要的git存储库,它是从dev.domain.com的webroot创建的。
提前致谢!
答案 0 :(得分:1)
这就是我所做的(合理的人可能不同意):
1)在我的工作站上使用LAMP堆栈进行本地测试,同时在我去的时候使用git。
2)当我准备重新注册我当地的分支机构时,我会推动原点。存储库位于我的生产服务器上。
3)当我们想要进行部署测试时,它会在生产服务器上运行测试子域,比如test.foo.com。
这就变得棘手:假设生产站点的文档根目录是'foo.com/httpdocs'。这是foo.com/httpdocs1或foo.com/httpdocs2之一的符号链接。子域文档根也是一个符号链接到另一个目录,因此如果将production设置为httpdocs1,则测试为httpdocs2。
我们部署到测试目录,然后当我们对所有内容都满意时(假设我们要升级生产站点),我们也将生产符号链接重新指向另一个目录。这样,转换发生在单个原子文件系统操作中,如果您使用perl重命名或类似的更改符号链接(而不是取消链接和重新链接)。
这可能比你想要的更详细。重要的一点是,我的组织中的每个人在推送之前都会在本地进行测试和提交。
答案 1 :(得分:0)
您应该在本地进行测试,并且只推送有效的代码。