我们正在考虑将git用于我们正在设计的新系统。
我们目前有生产机器和开发机器 我们使用svn来保持生产更新我们的开发提交。
开发者机器拥有每个开发人员(我们当前只有2个人)的完整代码库副本。
这是文件结构:
html/
dev_timmy/
stuff/
thing1.php
thing2.php
dev_johnny/
stuff/
thing1.php
thing2.php
如果我们都在使用thing1.php,我会对目录中的文件进行更改,并在他的文件中对其进行更改。要测试我们的更改,我们只需在url中包含我们的dev目录。
http://ourwebsite.com/dev_timmy/stuff/thing1.php
http://ourwebsite.com/dev_johnny/stuff/thing1.php
我确信拥有代码副本不是最好的解决方案。
但是我们怎样才能在互联网上查看自己的变化? 我们如何才能使基于dev_timmy的网址解析为Timmy正在处理的页面版本?
答案 0 :(得分:1)
git没有什么特别可以帮助解决这类问题:文件必须位于某个磁盘上,以便它们可以被Web服务器抛出。
这个问题基本上归结为工作流程。如果您希望能够查看您正在处理的代码,而不是您的同事正在处理的代码,那么通用解决方案是将多个站点(单独的Web服务器或服务器后面的不同虚拟主机)设置为不同的网址。例如,在我们公司,我们每个人都有自己的dev vm,以及我们自己的username.company.com
URL,我们可以用它来引用我们VM上托管的代码。
通常人们将git存储库作为其Web服务器的文档根目录(或虚拟主机根目录)。他们对此进行编辑和测试,随时在本地提交。
当我们完成开发后,我们将合并到一个中央存储库,并且测试中有一个Web服务器可以显示当前合并用于测试的内容。一旦被接受,它就会被合并到掌握并推向生产。
答案 1 :(得分:-1)
但我们怎样才能在互联网上查看自己的变化?
首先,你必须将它上传到互联网上。 您需要一些地方来存储您的代码(bitbucket,gthub等)。
这些云服务有一个Web界面,可以查看您的更改以及所有历史记录。
我们如何才能使基于dev_timmy的网址解析为Timmy正在处理的页面版本?
使用git可以使用分支。你们每个人都有自己的分支,这将允许你们2同时处理相同的代码,并随时更新本地代码。
这就是分支机构。
另一种解决方案可能是使用与子模块相同的项目或使用workdir,这将允许您在不同的文件夹下使用相同的代码