测试git branch本地网络服务器

时间:2016-08-04 16:08:50

标签: git web web-deployment

我的web根文件夹中有一些php应用程序(例如:/ www / project /)

我想在我的项目中使用git,但我对它的实用程序非常困惑。例如......

我创建了一个分支“NewContactPage”...所以我有两个分支:master和NewContactPage。我对contact.php文件做了一些修改(例如)但是我可以测试这个更改并与“master”contact.php文件进行比较? (我只有一个webroot文件夹)¿我是否要将所有项目存档到其他webroot如果我想测试一些功能?真?! `

================编辑更新问题====== 我认为我不能很好地解释......我会用另一个例子来托付。

我的本​​地开发环境有一个apache web服务器,apro的webroot是/ user / 12345 / project / www ok?

在这个目录中,我的项目(使用git),例如,我的主要分支是开发。所以当我去http://localhost时,我可以看到index.php for develop,好吗?

好吧,我遵循git flow最佳实践,例如,我要创建一个带有新功能的分支,例如,new contact.php页面,所以我创建了分支contactNEW,在这个分支中我编辑了联系人。 php和一些代码...

所以,如果我转到http://localhost/contact.php(例如),我会看到新的更改(分支联系NEWW)但是......如果我想与网络浏览器进行视觉比较(开发/联系) .php和contactNEW / contact.php)例如为了看到......“按钮颜色”¿我要做什么? 我要将所有分支开发复制到新的Web根文件夹?或者最好将所有分支contactNEW复制到其他webroot(例如virtualhost)for apache?

我想我要在存储库上提交或“撤消提交”,然后刷新网络浏览器......¿不?

由于

2 个答案:

答案 0 :(得分:0)

我不确定我是否跟进,但是在一个给定的工作副本中,一次只能检出一个分支。但是切换分支很容易:

git checkout NewContactPage
{do some testing}
git checkout master

此外,git存储库的副本既便宜又容易创建。普通的旧cp -r <repo> <repo-copy>(假设这里有一个UNIX派生)可以完成任务。然后,您可以在repo-copy中签出一个分支,并在完成后将其删除。

比较分支机构之间的contact.php文件(无论此命令的配置中是否有签出分支):

git diff master NewContactPage contact.php

答案 1 :(得分:0)

如果您将git用于Web应用程序并且需要进行不同的测试/暂存等等。区域,这意味着你有:

  • 两个工作目录;每个人都有一个完整的git存储库,由&#34;遥控器&#34;。
  • 链接
  • 您的Web服务器配置中的两个条目,例如,具有两个不同的端口。他们每个人都指向两个目录中的一个。这样,您可以在其中一个Web服务器上测试开发,同时使您的生产版本升级。 (注意:这并不一定是客户使用的&#34;真正的生产网络服务器,只是&#34;生产代码的版本&#34;因此您可以将您的更改与之比较)

当然,这可以任意扩展。例如,如果你有几个开发人员,那么每个人都有一个单独的Web服务器(端口)可以在他自己的开发中进行冲浪(当然还有他们的分离git存储库)。

只要一切都是本地的,你就不需要&#34;部署&#34;您在公司/网络边界上的应用程序,确实是它的全部内容。