单个应用程序上有多个开发人员的开发环境

Mil*_*zor 13 git development-environment phpstorm

我正在寻找一种优化/改进我的同事和我的应用程序方式的好方法.

我们目前都在MacBook Pro(2016)上使用PhpStorm,在我们的网络中使用Ubuntu服务器,并将SMB共享的工作副本映射到我们的机器上(我们有时会编辑相同的文件,这样做很不方便).我们使用Git作为源代码控制,并且我们都有1个分支.

我们注意到在网络共享上使用PhpStorm的性能问题,我们的应用程序非常庞大,并且拥有PhpStorm索引的所有内容都会使其冻结并始终感觉无响应.

我们正在寻找一种方法来改进我们的工作方式,简化应用程序的开发并消除我们对网络共享/工作副本组合的性能问题.

我们正在考虑在我们的机器上本地拥有一个工作副本,具有虚拟化的Web服务器(Vagrant),并且所有应用程序彼此分开运行.这将解决网络问题,但是如果我进行数据库更改,则会带来其他问题,这些更改也必须在我同事的工作副本上完成.

此外,我们一直在对相同的文件进行更改,我们最不希望的是每次进行更改时修复文件冲突,然而不得不拉动另一个开发人员在白天进行的每次提交,以及必须手动进行数据库更改.

TL; DR,有3个开发人员在1个应用程序上工作的好方法.

kpo*_*ock 1

https://www.atlassian.com/git/tutorials/comparing-workflows

\n\n

请注意其中的部分:“开发人员首先克隆中央存储库。在他们自己的项目本地副本中,他们像使用 SVN 一样编辑文件并提交更改;但是,这些新提交存储在本地\xe2\ x80\x94他们\xe2\x80\x99与中央存储库完全隔离。这使得开发人员可以推迟同步上游,直到他们\xe2\x80\x99re处于方便的断点。”

\n\n

我想,一旦你有了这个想法,剩下的事情就会水到渠成。

\n\n
    \n
  1. 在签入之前始终从 master 和 test 更新本地分支
  2. \n
  3. 经常来打卡!一天多次。请参阅第 1 点。每次签入都应包含相关代码和 SQL 脚本代码(以及任何其他资源),并且应该编译并运行!
  4. \n
  5. 合并冲突将会发生。没有魔杖,也没有策略。一般来说,尝试协调,以便开发人员通常在孤立的区域工作(这预设了您的代码结构很好,可以这样做。这通常是一个好主意,但这里的主题太大了)。我建议保留对文件的更改,其中包含每次自动生成给一位开发人员的任何代码。(这就是经验!)。
  6. \n
  7. 所有数据库更改都应该是一个脚本,因此也是一个代码文件,在版本控制方面以与所有其他代码相同的方式处理,开发人员应该在提交之前在自己的数据库本地副本上进行测试。您可能需要有人在发布前监督脚本,以查找冲突。您可以制定一项规则,即每个数据库对象(表、视图、sp)都有一个脚本文件,这样会更容易!
  8. \n
\n