我是一家大公司内的小型PHP开发团队的成员。我们有自己的开发和生产服务器,因为它们都在本地网络上,我们正在开发的应用程序严格在本地运行而不是公开的,我们在开发服务器上开发并且没有本地环境。我们每个人都有本地存储在磁盘上的源代码,但我们设置的IDE可以立即自动同步所有对DEV服务器的更改(基本上每次保存后)。
这在历史上是非常有益的,因为每个开发人员都有自己的项目,并且更多开发人员在一个项目上的协作几乎从未发生过。但是现在我们的团队变得越来越大,我们正在处理一些变化。主要的是我们需要有某种版本控制系统。 Git更准确。
有没有办法在这个设置中实现某种git工作流程?我的意思是,安装Git非常简单,但我们希望享受以下优势:将git集成到IDE并能够看到谁做了什么,什么时候,等等。现在我们能够完全改变我们的工作流程就是在DEV服务器上安装git并直接在那里提交。但这意味着每个人都会在本地处理代码,代码将同步到服务器,他需要连接到那里并提交。这对我来说似乎是错的..
你能看到一种实现git的方法,而不必在我们的机器上设置本地环境吗?
答案 0 :(得分:0)
让每个开发人员在其本地git存储库上工作,与中央存储库同步。
当开发人员认为他的更改已准备就绪时,他可以简单地推送他的提交。
或者,推动是非快速的。当其他开发人员介入其中并且可能发生冲突时就是这种情况。因此,开发人员必须提取其他更改并合并其提交,可能会解决冲突。
Git既没有引入冲突,也没有规避冲突(尽管有些人认为这是冲突的)。 Git只是帮助您注意和管理这些冲突。 到目前为止,你是如何管理冲突的?例如,两个开发人员在同一个文件中更改一行? 避免冲突完全取决于您团队的组织。
您还可以设置post-receive hook,以便中央存储库在每次提交新提交时自动更新Web服务器的文件(尽管第一次运行自动化测试显然更合适)。
修改强>
您的开发策略是imho,既不适合中型团队也不适合中型软件项目。
团队越大,人们在代码上同时工作的人越多。如果两个开发人员更改同一文件怎么办?如果Dev1保存了他的工作,Dev2的工作是否会因为他没有保存他的文件而被覆盖?如果Dev2保存了他的文件,他是否会覆盖Dev1的工作?
软件项目越大,您就越需要并行更改多个文件(例如更改功能的签名)。因此,如果您更改了第一个文件,现在整个软件都已损坏,您自动将此损坏的软件部署到您的服务器上!