Qual è la piattaforma più semplice e di base per lo sviluppo collaborativo (progetto PHP)? [chiuso]


14

Ho bisogno di lavorare con 4-5 programmatori su un'applicazione PHP abbastanza media usando codeigniter. Siamo in 5 località diverse in una città, e tutti i programmatori non sono troppo istruiti e presumo che la maggior parte di loro non abbia mai usato alcun sistema di controllo delle versioni.

Puoi consigliarmi una piattaforma molto facile da inserire per collaborare a un progetto come questo? Sto parlando di qualcosa che è solo un po 'più sofisticato di una cartella dropbox condivisa.


Hai usato github come tag. Github è molto carino: hai i soldi per un repository privato?

Raccomando SourceAnywhere Hosted. È molto intuitivo utilizzare il prodotto. In realtà, se cerchi il controllo della versione, troverai molti buoni suggerimenti / strumenti. Se si desidera abbreviare la curva di apprendimento, oltre al prodotto stesso, tenere presente "un buon servizio clienti" quando si sceglie un prodotto. Perché significa che avrai una buona formazione e supporto tecnico da parte dell'azienda.
Windy,

Risposte:


12

Conosci già la risposta

Il controllo della versione è stato progettato per risolvere questo esatto problema . Se i tuoi sviluppatori non sono disposti a imparare a utilizzare questa pratica di sviluppo standard, potresti dover riconsiderare i tuoi sviluppatori. Che tipo di software sforneranno se mostrano avversione alle pratiche standard accettate e avversione all'apprendimento di nuove cose?

Suggerirei di leggere Pro Git e creare un repository git privato per il tuo team.


2
Non ho la possibilità di scegliere altri sviluppatori, né di far loro imparare il controllo della versione. Fidati di me, preferirei entrambi. Ma non posso - questa è la ragione per cui ho posto questa domanda. Ci sono un sacco di giocatori dilettanti là fuori, cosa usano?
Esuus,

6
Imparano gli strumenti adeguati o restano giovani per sempre.
Adrian Schneider,

2
@Esuus Non ci vuole molto a imparare git: try.github.com/levels/1/challenges/1
VirtuosiMedia

3
@VirtuosMedia Non credo che Git sia esattamente semplice, SVN è molto più facile da capire.
Matěj Zábský,

1
Non conosco Git, ma TortoiseSVN rende davvero facile per gli utenti inesperti gestire SVN.
Brian

4

... FTP

Ok, questo è il modo in cui ho iniziato a collaborare, collegando Notepad ++ a FTP, eseguendo il backup di schifezze ogni 10 minuti in cartelle rinominate realmente succhiate, se lo fai, per il bene del tuo progetto almeno usa il controllo della versione sul server.

Un IDE online

Cloud9 è molto bello e ha modifiche simultanee, tuttavia ti costerà avere più di 1 spazio di lavoro privato per lavorare con il tuo team, ma ne vale la pena.

... prova Mercurial

Se non trovi Git abbastanza accessibile dai tuoi colleghi, prova Mercurial con TortoiseHG, che è un client GUI per Mercurial. Ci vorranno due minuti per l'installazione e meno per iniziare a usarlo.

Fagli usare la GUI, devono solo imparare a usare 4 pulsanti (pull, update, commit, push) e apprendere 2 o 3 concetti per salvare e condividere il loro lavoro.

Falli registrare in bitbucket . Crea un repository per il tuo progetto e falla fare in modo che possano lavorare nel loro mirror del repository e in questo modo non devono affrontare la fusione. Fai l'integrazione e chiedi loro di inviare richieste pull dal loro fork di Bitbucket una volta che hanno spinto. Fagli estrarre solo dal tuo repository (quello da cui hanno biforcato).

Impara Mercurial da solo in modo da poter risolvere tutti i problemi correlati, questo è un buon inizio: http://hginit.com/

Prova entrambi

Puoi usare Mercurial da Cloud9, quanto è bello ?.

Smetti di assumere

Se sei tu quello che cerca di usare gli strumenti corretti sei già in una posizione di leadership. Non dare per scontato che non siano istruiti e parla con loro di come vengono fatte le cose nel mondo reale.

Sii entusiasta e non condiscendente.

Non c'è niente di più facile di questo se vuoi fare le cose nel modo giusto. Se espressamente non vogliono utilizzare il controllo versione, potresti avere un altro tipo di problema più serio.


Sento che questa è la risposta migliore, in quanto è l'unica che in realtà risponde alla domanda invece di patrocinare il richiedente. Apprezzo in particolare i suggerimenti su come rendere Mercurial più facile per le persone (togliendo la fusione e l'integrazione dalle loro mani). Questo sembra il modo più semplice per eseguire il controllo delle versioni con le persone titubanti a partecipare. Grazie!
dallin

3

Consiglio ai tuoi sviluppatori di http://try.github.com

Ma se non è possibile il controllo della versione, potresti rimanere con qualcosa di adatto per il principiante / junior che è di base (e arcaico).

  1. l'APP + DB sul server di sviluppo
  2. Tutti sullo stesso messenger tutto il tempo mentre lavorano in modo da poter parlare e sapere chi sta lavorando
  3. Tutti modificano dal vivo sul server DEV attraverso un semplice vecchio FTP
  4. Applica le regole del team sull'aggiornamento di un log delle modifiche con le loro revisioni + rendendo cruciali i commenti sul codice

L'impostazione per la cartella web del tuo server di sviluppo potrebbe anche essere svn checkout (o git) e puoi configurare il crontab per eseguire automaticamente il commit delle revisioni ogni tanto automaticamente oppure puoi semplicemente installare un backup o forse risincronizzare la cartella in un'altra posizione di backup per quando si sovrascrivono a vicenda i file (come accadrà) e devi dare a Bob le modifiche che ha perso. Alla fine, dopo aver lavorato con il sistema per alcuni mesi, ti supplicheranno di dare loro l'accesso svn / git.


Anche se tutte le risposte qui sono state utili (e grazie a loro ora sto seriamente valutando se c'è un modo per farle imparare GIT / SVN), sei l'unico che ha effettivamente risposto alla mia domanda. Grazie uomo.
Esuus,

2

Suppongo che la maggior parte di loro non abbia mai usato alcun sistema di controllo della versione.

È necessario correggere tale presupposto e scoprire se hanno o non hanno alcuna conoscenza o esperienza di alcun sistema di controllo della versione. Inutile supporre quando potrebbero avere conoscenza.

Come hanno già detto altre risposte, questo è lo scopo del controllo versione. Git è probabilmente il modo migliore per andare avanti e Learn Git è un ottimo punto di partenza


2

Bene, non c'è via d'uscita che usare il controllo versione .

Dropbox ha una sorta di controllo della versione , ma credo che se due persone salvano un file, la versione più recente sostituirà solo la versione precedente, che non è auspicabile per il controllo della versione durante lo sviluppo del software.

Svn è un sistema di controllo versione facile da imparare (almeno più semplice di git) e puoi trovare vari repository pubblici ospitati online, ma non lo consiglierei a team distribuiti geograficamente.

Quindi la strada da percorrere per i team distribuiti è git. Se avere il tuo sorgente pubblico o acquistare un piano privato non è un problema, crea un repository su github , altrimenti imposta un repository git locale.

Può essere che tu possa trovare una GUI per git che potrebbe rendere più semplice per questi sviluppatori iniziare a comprendere concettualmente un sistema di controllo della versione. Per Windows è TortoiseGIT . Non ho usato alcun client git gui per Linux o MAC, quindi non lo consiglierò qui.


Dropbox ha un vantaggio: puoi convincere le persone a usarlo che non hanno mai usato i sistemi di controllo del codice sorgente in vita loro. Questo può essere un grande vantaggio quando si lavora con professori di scienze ...
Donal Fellows,

GitHub ha anche repository privati ​​se non vuoi rendere pubblico il tuo codice.
VirtuosiMedia,

@VirtuosiMedia Sì, lo so, ma non sono sicuro che siano gratuiti.
Ozair Kafray,

@OzairKafray Non sono gratuiti, ma sono piuttosto economici. Il piano più piccolo offre 5 repository privati ​​per $ 7 al mese, oltre a un pubblico illimitato.
VirtuosiMedia,

2

Sei sulla buona strada

Il version controllingè la strada da percorrere! Servirà bene per collaborare alla condivisione del codice e aiutare con l'integrazione. Inoltre, i check-in frequenti sono una disciplina molto importante che tutte le squadre devono praticare.

Tuttavia, la scelta del giusto controllo di versione per il tuo progetto è molto importante.

C'è un recente post e risposte utili per aiutarti a decidere: qual è un buon esempio di giocattolo per insegnare il controllo della versione?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.