Le migliori pratiche per il controllo della versione in Unity?

11

Sono un po 'confuso su come usare il controllo della versione con Unity, specialmente con oggetti come scene o prefabbricati che non sono solo codice.

Recentemente abbiamo avuto un problema quando il mio collega ed io stavamo lavorando su parti diverse della stessa scena. che ha provocato conflitti, ramificazioni e fusione in abbondanza.

Alla fine la mia revisione è stata sostituita comunque dalle sue modifiche.

L'unico modo che vedo al momento è che stiamo lavorando a turno sugli stessi oggetti, ma non sembra molto conveniente, soprattutto perché tutto il lavoro che stiamo facendo è nelle scene.

Che cosa fanno di solito le persone in queste situazioni?

(Usiamo Mercurial, BitBucket e SourceTree.)

    
posta Kaworu 15.04.2016 - 16:05
fonte

2 risposte

5

Puoi provare la seguente soluzione se usi GitHub.

  1. In unità apri Modifica- > Impostazioni del progetto - > Editor, quindi in Impostazioni Impostazioni progetto.
  2. Cambia "Modalità controllo versione" in "File meta visibili".
  3. Cambia "Modalità serializzazione risorse" in "Forza testo".

Funziona bene per me.

    
risposta data 30.09.2016 - 11:16
fonte
3

La maggior parte dei sistemi di controllo delle versioni (VCS) sono progettati per il testo. Di solito hanno caratteristiche molto potenti e convenienti per confrontare ( diff ) e unire il codice sorgente, e alcuni strumenti possono anche unire automaticamente le modifiche (e fare un buon lavoro di indovinare come i cambiamenti dovrebbero essere uniti e a che punto lo sviluppatore dovrebbe essere sollecitato per unire manualmente).

Sarebbe fantastico avere un supporto migliore per diff e la fusione di file binari dalle rispettive applicazioni che usano quei file. Microsoft Word, ad esempio, consente di confrontare due documenti e, benché non sia un comodo strumento di fusione, è comunque meglio di niente e mi ha risparmiato ore in più occasioni. Sfortunatamente, la funzione di fusione viene solitamente supervisionata nei prodotti software o difficile da implementare (come si visualizza una diff di una scena 3D?)

Quando si tratta di file binari, si ottiene un piccolo aiuto da VCS. Non solo non sono in grado di memorizzare le modifiche successive in modo efficiente, ma non possono aiutarti a unire le modifiche.

Due anni fa, ho fatto una domanda molto simile riguardante uso del controllo di versione nel software di editing video . Credo che le risposte che sono state date alla mia domanda si applichino parzialmente anche qui, l'unica (ma importante) differenza è che la mia domanda riguardava file di grandi dimensioni, mentre nel tuo caso i file binari sono probabilmente relativamente piccoli.

L'approccio che hai trovato, cioè "lavorare a turno sugli stessi oggetti", è quello giusto. Se non riesci a unire, non lavorare in parallelo sulla stessa roba. Se lavori nello stesso ufficio, potrebbe essere facile da fare. In caso contrario, la maggior parte dei sistemi di controllo delle versioni ( incluso quello che usi ; è anche discusso qui in un contesto di BitBucket) supporto < strong> locking , che consiste per l'utente di un VCS a dire, attraverso il sistema, che sta lavorando su un determinato file in questo momento; gli altri utenti possono caricare la versione più recente del file, ma non dovrebbero cambiarlo.

    
risposta data 19.04.2016 - 23:17
fonte

Leggi altre domande sui tag