Sistema di controllo versione esclusivamente su disco condiviso?

4

La mia azienda gestisce molti siti Web e attualmente stiamo lavorando senza VCS. Voglio proporre un VCS per alcuni motivi, ma penso che i nostri requisiti potrebbero essere troppo unici. Lavoriamo su un'unità condivisa mappata a Windows Explorer con un mirror per ciascun sito. Quando vengono apportate modifiche, vengono inviate alla messa in scena, quindi una volta approvate sul sito web.

Non ho molta familiarità con VCS, ma ho esaminato Git e SVN, e non credo che saremmo in grado di usarli (correggimi se sbaglio). Il problema è che abbiamo così tanti siti e lavoriamo costantemente su diversi siti, che mantenere una versione locale di ogni sito per spingere sull'unità condivisa sarebbe troppo.

Quello che immagino, idealmente, è qualcosa che viene memorizzato nell'unità condivisa che lo sviluppatore può "ramificare" e lavorare su un file temporaneo che si è unito al file aperto dallo sviluppatore. Inoltre, è importante che un altro sviluppatore che non ha mai lavorato su uno dei siti prima di essere in grado di iniziare a modificare senza troppa installazione. Avere un sistema che tiene traccia delle modifiche senza modificare troppo il nostro flusso di lavoro (o che nessuno lo userà o addirittura prenderne in considerazione l'implementazione) e si sbarazza del numero di file "* _backupTodaysdate.html" è l'obiettivo.

    
posta Erik Stagg 16.08.2016 - 03:06
fonte

3 risposte

6

Vorrei uscire utilizzando un'unità condivisa per la modifica condivisa. Vai con un sistema di controllo versione appropriato e spazi di lavoro personali. Gli spazi di lavoro condivisi portano a tutti i tipi di problemi, incluse le modifiche perse.

Non c'è motivo di avere tutti i siti controllati per tutto il tempo. Controlla i siti di cui hai bisogno e rimuovi lo spazio di lavoro relativo quando hai finito con il sito. I tuoi flussi di lavoro dovranno cambiare di conseguenza.

Eviterò di ripetere una lunga risposta. Questa domanda è simile a: Quale sistema di controllo della versione può gestire tutti gli aspetti?

    
risposta data 16.08.2016 - 04:44
fonte
3

La risposta breve è: NON FARE QUELLO! Questo non finirà solo in lacrime. probabilmente finirà sulle 10 in punto come una sparatoria di massa sul posto di lavoro!

Con il moderno DVCS (Mercurial o Git) non c'è alcun motivo ragionevole per usare una / unità condivisa directory per qualsiasi cosa! Ogni dev ha la propria macchina / directory. Eseguono il pull da un "master repository" (sebbene con un DVCS questo sia più un'opinione che un fatto), fanno qualunque , e poi spingono al master o richiedono che qualcuno più in alto la catena alimentare tira dal proprio deposito.

Il nostro flusso di lavoro standard è costituito da macchine N Dev con le proprie copie, un repository di staging sulla macchina di produzione (o un duplicato esatto ) e un repository master / stabile. Abbiamo script per gestire la maggior parte del lavoro di scut, incluso uno script revert per tornare alla versione precedente ora nel caso in cui tutto l'inferno si scateni quando il server di produzione va Tits Fino all'ultimo rilascio "stabile"!

    
risposta data 16.08.2016 - 03:50
fonte
3

The problem is, we have so many sites, and we are constantly working on different sites, that keeping a local version of every site to push to the shared drive would be too much.

Questa non è una situazione inusuale per lo meno. Io uso regolarmente cloni git di 20 microservizi a cui ho accesso push e altri 10 circa da progetti open source o altri team della compagnia su cui ho dipendenze. Ho ancora circa 200 GB di spazio libero su disco, ma se non lo facessi, la clonazione richiede in genere meno di 10 secondi. Ad esempio, non penso di clonare un repository solo per la durata di una revisione del codice.

Il mio suggerimento è di provare a buttare fuori sul tuo computer locale per alcuni giorni, in modo da avere un'idea migliore di quale sarà il flusso di lavoro e il sovraccarico. Svn è un po 'più difficile da configurare per l'uso locale, ma potrebbe essere più adatto se condividi molti file tra i progetti in una gerarchia.

    
risposta data 16.08.2016 - 07:17
fonte

Leggi altre domande sui tag