什么是最基本,最简单的协作开发平台(PHP项目)?[关闭]


14

我需要使用codeigniter在相当普通的PHP应用程序上与4-5个程序员合作。我们在一个城市中有5个不同的地点,所有程序员的教育程度都不高,我假设他们中的大多数人从未使用过任何版本控制系统。

您是否可以推荐一个非常非常易于使用的平台来与像这样的项目进行协作?我所谈论的只是比共享保管箱文件夹更复杂的东西。


您使用github作为标签。Github非常好-您有钱进行私人回购吗?

我建议托管SourceAnywhere。使用产品非常直观。实际上,如果您搜索版本控制,则会发现许多不错的建议/工具。如果要缩短学习曲线,除了产品本身以外,在选择产品时请牢记“良好的客户服务”。因为这意味着您将获得公司的良好培训和技术支持。

Answers:


12

你已经知道答案了

版本控制旨在解决此确切问题。如果您的开发人员不愿意学习使用这种标准开发实践,则可能需要重新考虑您的开发人员。如果他们对标准接受的实践表现出反感,以及对学习新事物的反感,他们将推出哪种软件?

我建议让他们阅读Pro Git并为您的团队建立一个私人git存储库。


2
我既没有选择其他开发人员的选择,也没有让他们学习版本控制的选择。相信我,我都喜欢。但是我不能-这就是我问这个问题的原因。那里有很多业余开发人员,他们使用什么?
Esuus

6
他们学习适当的工具或永远留在大三。
Adrian Schneider

2
@Esuus学习git并不需要很长时间:try.github.com/levels/1/challenges/1
VirtuosiMedia

3
@VirtuosMedia我认为Git并不完全简单,SVN更容易掌握。
马捷Zábský

1
我不了解Git,但是TortoiseSVN使得没有经验的用户可以非常轻松地使用SVN。
Brian

4

... FTP

好的,这就是我开始进行协作的方式,将Notepad ++连接到FTP,每10分钟在确实很烂的重命名文件夹中备份废话,如果这样做的话,为了您的项目,至少在服务器上使用版本控制。

在线IDE

Cloud9非常好,并且可以进行并发编辑,但是,要让您的团队使用多个私有工作区将花费您很多钱,但这是值得的。

...尝试水银

如果您发现您的同事对Git来说不够容易接近,请尝试使用Mercurial和TortoiseHG,后者是Mercurial的GUI客户端。他们将需要两分钟的时间进行设置,而花更少的时间开始使用它。

让他们使用GUI,他们只需要学会使用4个按钮(拉,更新,提交,推送)并学习2或3个概念即可保存和共享他们的工作。

让他们在bitbucket中注册。为您的项目创建一个存储库,并让他们进行分叉,以便他们可以在自己的存储库镜像中工作,这样就不必处理合并。您进行集成,仅要求他们在推送后从其Bitbucket分支发出发布请求。让它们仅从您的存储库中提取(从它们的库中提取)。

自己学习Mercurial,以便您可以解决所有相关问题,这是一个不错的开始:http : //hginit.com/

同时尝试

您可以使用Cloud9中的Mercurial,这有多酷?

停止假设

如果您希望使用正确的工具,那么您已经处于领导地位。不要以为他们没有受过教育,并与他们谈论现实世界中的事情是如何完成的。

对它充满热情,不要光顾。

如果您想做正确的事,这确实没有比这更容易的了。如果他们明确不想使用版本控制,那么您可能会遇到另一种更为严重的问题。


我觉得这是最好的答案,因为这是唯一实际回答问题而不是光顾提问者的答案。我特别赞赏有关如何使人们更轻松地使用Mercurial的提示(将合并和集成从他们手中移开)。这似乎是犹豫不决的人们进行版本控制的最简单方法。谢谢!
dallin '16

3

我建议您的开发人员访问http://try.github.com

但是,如果不可能进行版本控制,则可以坚持一些适合初学者/初学者的基本(和古老的)方法。

  1. 开发服务器上的APP + DB
  2. 每个人在工作时始终在同一个Messenger上,这样他们就可以讲话并知道谁在工作
  3. 每个人都可以通过普通的旧FTP在DEV服务器上进行实时编辑
  4. 强制执行团队规则以使用其修订来更新变更日志,并使代码注释变得至关重要

开发服务器的Web文件夹的设置也可以是svn checkout(或git),并且您可以将crontab设置为自动频繁地自动提交修订,或者可以仅安装备份,也可以将文件夹重新同步到其他备份位置他们会覆盖彼此的文件(这将发生),并且您需要给Bob他丢失的更改。最终,在使用该系统几个月后,他们将恳求您为他们提供svn / git访问权限。


尽管这里的所有答案都是有帮助的(并且正因为如此,我现在正在认真考虑是否有一种方法可以使他们学习GIT / SVN),但是您是唯一真正回答我的问题的人。谢啦。
Esuus

2

我假设其中大多数人从未使用过任何版本控制系统。

您需要纠正该假设,并确定他们是否对任何版本控制系统有任何知识或经验。没有必要假设他们什么时候可以拥有知识。

正如其他答案所说,这就是版本控制的目的。Git可能是最好的前进方式,Learn Git是一个很好的起点


2

好吧,除了使用version-control,别无他法。

Dropbox确实具有版本控制功能,但是我相信,如果两个人保存一个文件,新版本将只替换旧版本,这对于软件开发期间的版本控制而言是不希望的。

svn是一个易于学习的(至少比git更简单)的版本控制系统,您可以找到在线托管的各种公共存储库,但我不建议将其用于地理分布的团队。

因此,分配团队的方式就是git。如果公开来源或购买私人计划不是问题,请在github上创建一个存储库,否则设置一个本地git存储库。

也许您可以找到git的GUI,这可能会使这些开发人员更容易地从概念上掌握版本控制系统。对于Windows,其TortoiseGIT。我没有在Linux或MAC上使用任何git gui客户端,因此在这里我不推荐一个。


Dropbox有一个优点:您可以让从未使用过源代码控制系统的人使用它。与理科教授一起工作时,这可能是一个主要优势……
Donal Fellows

如果您不想公开代码,则GitHub也有私有存储库。
VirtuosiMedia

@VirtuosiMedia是的,我知道,但是我不确定它们是否免费。
Ozair Kafray 2012年

@OzairKafray它们不是免费的,但价格却很便宜。最小的计划为您提供5个每月$ 7的私人存储库,以及无限的公共存储库。
VirtuosiMedia

2

您在正确的轨道上

version controlling是要走的路!它将很好地用于协作代码共享并有助于集成。此外,频繁值机是所有团队都需要实践的非常重要的学科。

但是,为项目选择正确的版本控制非常重要。

最近有一篇不错的文章和答案可以帮助您确定:教版本控制的好玩具示例是什么?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.