Qual é a plataforma mais básica e simples para desenvolvimento colaborativo (projeto PHP)? [fechadas]


14

Eu preciso trabalhar com 4-5 programadores em um aplicativo PHP bastante médio usando o codeigniter. Estamos em cinco locais diferentes em uma cidade, e nem todos os programadores são muito bem educados e estou assumindo que a maioria deles nunca usou nenhum sistema de controle de versão.

Você pode recomendar uma plataforma muito fácil de entrar para colaborar em um projeto como este? Estou falando de algo que é apenas um pouco mais sofisticado do que uma pasta compartilhada da caixa de depósito.


Você usou o github como uma tag. O Github é muito bom - você tem dinheiro para um repo privado?

Eu recomendo o SourceAnywhere Hosted. É muito intuitivo usar o produto. Na verdade, se você procurar pelo controle de versão, encontrará muitas boas sugestões / ferramentas. Se você deseja reduzir a curva de aprendizado, além do próprio produto, tenha em mente o "bom atendimento ao cliente" ao escolher um produto. Porque isso significa que você terá um bom treinamento e suporte técnico da empresa.
Windy

Respostas:


12

Você já sabe a resposta

O controle de versão foi projetado para resolver esse problema exato . Se seus desenvolvedores não estiverem dispostos a aprender a usar essa prática padrão de desenvolvimento, talvez seja necessário reconsiderar seus desenvolvedores. Que tipo de software eles produzirão se mostrarem aversão às práticas padrão aceitas, bem como aversão a aprender coisas novas?

Eu sugiro que eles leiam o Pro Git e configurem um repositório git privado para sua equipe.


2
Não tenho a opção de escolher outros desenvolvedores, nem fazê-los aprender o controle de versão. Confie em mim, eu preferiria os dois. Mas não posso - essa é a razão pela qual fiz essa pergunta. Existem muitos desenvolvedores amadores por aí, o que eles usam?
Esuus 16/07/12

6
Eles aprendem as ferramentas adequadas ou permanecem juniores para sempre.
Adrian Schneider

2
@Esuus Não demorou muito tempo para aprender git: try.github.com/levels/1/challenges/1
VirtuosiMedia

3
@VirtuosMedia Eu não acho que o Git seja exatamente simples, o SVN é muito mais fácil de entender.
Matěj Zábský

1
Não conheço o Git, mas o TortoiseSVN facilita muito a usuários inexperientes lidar com o SVN.
18712 Brian As

4

... FTP

Ok, foi assim que comecei a colaborar, conectando o Notepad ++ ao FTP, fazendo backup de porcaria a cada 10 minutos em pastas renomeadas realmente sugadas, se você fizer isso, pelo bem do seu projeto, pelo menos use o controle de versão no servidor.

Um IDE online

O Cloud9 é muito bom e possui edição simultânea; no entanto, você terá mais de um espaço de trabalho privado para trabalhar com sua equipe, mas vale a pena.

... tente Mercurial

Se você não achar o Git acessível o suficiente por seus colegas de trabalho, tente o Mercurial com o TortoiseHG, que é um cliente GUI do Mercurial. Levará dois minutos para configurar e menos para começar a usá-lo.

Faça com que eles usem a GUI, eles apenas precisam aprender a usar 4 botões (puxar, atualizar, confirmar, pressionar) e aprender 2 ou 3 conceitos para salvar e compartilhar seu trabalho.

Faça com que eles se registrem no bitbucket . Crie um repositório para o seu projeto e peça que eles o bifurcem para que eles possam trabalhar em seu próprio espelho do repositório e dessa forma eles não precisam lidar com a mesclagem. Você faz a integração e apenas pede que eles emitam solicitações pull de seu fork do Bitbucket, uma vez que foram enviadas. Faça com que eles puxem apenas do seu repositório (aquele de onde eles bifurcaram).

Aprenda você mesmo a Mercurial, para que possa resolver todos os problemas relacionados. Este é um bom começo: http://hginit.com/

Tente ambos

Você pode usar o Mercurial do Cloud9, como isso é legal?

Pare de assumir

Se você procura usar as ferramentas corretas, já está em uma posição de liderança. Não assuma que eles não são educados e converse com eles sobre como as coisas são feitas no mundo real.

Seja entusiasmado com isso e não condescendente.

Realmente não fica mais fácil do que isso se você quiser fazer as coisas corretamente. Se eles expressamente não quiserem usar o controle de versão, você poderá ter outro tipo de problema mais sério.


Eu sinto que esta é a melhor resposta, pois é a única que realmente responde à pergunta em vez de apadrinhar o solicitante. Agradeço especialmente as dicas de como tornar o Mercurial mais fácil para as pessoas (tirando a fusão e a integração de suas mãos). Essa parece ser a maneira mais fácil de fazer o controle de versão com pessoas hesitantes em participar. Obrigado!
dallin

3

Eu recomendo seus desenvolvedores para http://try.github.com

Mas se nenhum controle de versão for possível, você pode optar por algo adequado para o iniciante / júnior que é básico (e arcaico).

  1. o APP + DB no servidor de desenvolvimento
  2. Todo mundo no mesmo messenger o tempo todo enquanto trabalha para que eles possam falar e saber quem está trabalhando
  3. Todo mundo edita ao vivo no servidor DEV através de FTP antigo
  4. Aplicar regras de equipe para atualizar um changelog com suas revisões + tornar os comentários do código cruciais

A configuração da pasta da web do servidor de desenvolvimento também pode ser svn checkout (ou git) e você pode configurar o crontab para confirmar automaticamente as revisões de vez em quando automaticamente ou você pode simplesmente instalar um backup ou sincronizar a pasta para outro local de backup para quando eles substituem os arquivos uns dos outros (como acontecerá) e você precisa dar a Bob as alterações que ele perdeu. Eventualmente, depois de trabalhar com o sistema por alguns meses, eles implorarão que você conceda a eles acesso svn / git.


Embora todas as respostas aqui tenham sido úteis (e, por causa delas, agora estou considerando seriamente se existe uma maneira de fazê-las aprender o GIT / SVN), você é o único que realmente respondeu à minha pergunta. Obrigado cara.
Esuus

2

Estou assumindo que a maioria deles nunca usou nenhum sistema de controle de versão.

Você precisa corrigir essa suposição e descobrir se eles possuem ou não algum conhecimento ou experiência em qualquer sistema de controle de versão. Não adianta assumir quando eles podem ter conhecimento.

Como outras respostas disseram, é para isso que serve o controle de versão. Git é provavelmente o melhor caminho a seguir, e Learn Git é realmente um bom ponto de partida


2

Bem, não há saída do que usar o controle de versão .

O Dropbox tem um tipo de controle de versão , mas acredito que se duas pessoas salvarem um arquivo, a versão mais recente substituirá a versão mais antiga, o que não é desejável para o controle de versão durante o desenvolvimento do software.

O Svn é um sistema de controle de versão fácil de aprender (pelo menos mais fácil que o git), e você pode encontrar vários repositórios públicos hospedados online, mas eu não o recomendaria para equipes distribuídas geograficamente.

Portanto, o caminho a seguir para as equipes distribuídas é o git. Se não for um problema ter sua fonte pública OU comprando um plano privado , crie um repositório no github , caso contrário, configure um repositório git local.

Pode ser que você encontre uma GUI para o git, o que pode facilitar para esses desenvolvedores começarem a entender um sistema de controle de versão conceitualmente. Para Windows, seu TortoiseGIT . Como não usei nenhum cliente git gui para Linux ou MAC, não recomendo um aqui.


O Dropbox tem uma vantagem: você pode usar pessoas que nunca usaram sistemas de controle de origem em suas vidas. Esta pode ser uma grande vantagem quando se trabalha com professores de ciência ...
Donal Fellows

O GitHub também possui repositórios privados, se você não deseja tornar seu código público.
VirtuosiMedia

@VirtuosiMedia Sim, eu sei disso, mas não tenho certeza se eles são gratuitos.
Ozair Kafray

@OzairKafray Eles não são livres, mas são bem baratos. O menor plano oferece 5 repositórios particulares por US $ 7 / mês, além de público ilimitado.
VirtuosiMedia

2

Você está no caminho certo

O version controllingé o caminho a seguir! Serve bem para colaborar com o compartilhamento de código e ajudar na integração. Além disso, check-in (s) freqüente (s) é uma disciplina muito importante que toda equipe precisa praticar.

No entanto, escolher o controle de versão correto para o seu projeto é muito importante.

Há um post recente e respostas agradáveis ​​para ajudá-lo a decidir: Qual é um bom exemplo de brinquedo para ensinar controle de versão?

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.