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

14

Eu preciso trabalhar com 4-5 programadores em uma aplicação PHP bastante comum usando codeigniter. Estamos em 5 locais diferentes em uma cidade, e todos os programadores não são muito bem educados e eu estou assumindo que a maioria deles nunca usou nenhum sistema de controle de versão.

Você pode recomendar uma plataforma muito fácil de usar para colaborar em um projeto como esse? Estou falando de algo que é apenas um pouco mais sofisticado do que uma pasta compartilhada do Dropbox.

    
por Esuus 16.07.2012 / 16:27
fonte

6 respostas

12

Você já sabe a resposta

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

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

    
por 16.07.2012 / 16:33
fonte
3

... FTP

Ok, esta é a maneira que eu comecei a colaborar, conectando o Notepad ++ ao FTP, fazendo backup a cada 10 minutos em pastas renomeadas realmente sugadas, se você fizer isso, pelo menos para o seu projeto, use o controle de versão no servidor.

Um IDE on-line

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

... experimente o 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 para o Mercurial. Levará dois minutos para configurar e menos para começar a usá-lo.

Peça-lhes que usem a GUI, eles só precisam aprender a usar 4 botões (puxar, atualizar, confirmar, empurrar) e aprender 2 ou 3 conceitos para salvar e compartilhar seu trabalho.

Peça-lhes que se registem em bitbucket . Crie um repositório para o seu projeto e faça com que ele funcione em seu próprio espelho do repositório e assim eles não terão que lidar com a mesclagem. Você faz a integração e apenas pede que eles emitam requisições de pull do fork do Bitbucket assim que forem empurradas. Tê-los puxar apenas do seu repositório (aquele que eles bifurcam).

Aprenda a usar o Mercurial para resolver todos os problemas relacionados. Isso é um bom começo: link

Tente os dois

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

Pare de assumir

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

Seja entusiasta e não condescendente.

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

    
por 26.07.2012 / 20:34
fonte
2

I'm assuming that most of them have never used any version control system.

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

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

    
por 18.07.2012 / 09:35
fonte
2

Bem, não há como sair do que usar version-control .

O Dropbox tem um tipo de controle de versão , mas acredito que, se duas pessoas salvarem um arquivo, o A versão mais nova substituirá apenas 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 on-line, mas eu não recomendaria isso para equipes distribuídas geograficamente.

Então, o caminho a percorrer para as equipes distribuídas é git. Se ter sua fonte pública ou comprar um plano privado não for um problema, crie um repositório em github , caso contrário, configure um repositório git local.

Pode ser que você possa encontrar uma GUI para o git, o que pode tornar mais fácil para esses desenvolvedores começarem a entender um sistema de controle de versão conceitualmente. Para o Windows, o TortoiseGIT . Eu não usei nenhum cliente git gui para Linux ou MAC, então não vou recomendar um aqui.

    
por 16.07.2012 / 19:13
fonte
2

Recomendo aos seus desenvolvedores o link

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

  1. o APP + DB no servidor de desenvolvimento
  2. Todos no mesmo mensageiro o tempo todo enquanto trabalham para que possam falar e saber quem está trabalhando
  3. Todo mundo edita ao vivo no servidor DEV por meio do antigo FTP simples
  4. Aplique regras de equipe na atualização de um log de alterações com suas revisões + fazendo comentários de código cruciais

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

    
por 18.07.2012 / 16:58
fonte
1

Você está no caminho certo

O version controlling é o caminho a percorrer! Ele servirá bem para colaborar no compartilhamento de código e ajudar na integração. Além disso, o check-in frequente é uma disciplina muito importante que toda a equipe precisa praticar.

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

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

    
por 16.07.2012 / 21:35
fonte