Siamo un team di 8-10 sviluppatori che lavorano su diverse parti di un'istanza Sitecore. In passato abbiamo usato SVN e più recentemente (e con successo) Hg, ma ci stiamo muovendo per usare Git come nostro principale controllo del codice sorgente. Stiamo lavorando con Sitecore 7 e utilizzando l'ultimo TDS di Hedgehog. Nel caso in cui sia importante, stiamo usando anche la memoria Glass.Mapper.sc di Mike Edwards.
Il problema che stiamo incontrando, soprattutto rispetto a quanto sia stato facile con Hg, è che le fusioni sono un incubo. La maggior parte della nostra squadra è nuova a Git, ma la maggior parte di noi ha utilizzato almeno Hg quindi non è un grande salto. Abbiamo avuto così tanti problemi che ci siamo spostati in un'installazione di tipo merge master, in cui i lead del team stanno gestendo tutte le unioni.
La mia domanda è questa: dalle persone che utilizzano questi strumenti, quale suggeriresti è il miglior flusso di lavoro e la configurazione di supporto? Un membro del team ha suggerito il rebasing per ridurre i conflitti, ma ciò non sembra avere importanza.
Il nostro flusso di lavoro Hg, che ha funzionato molto bene è stato: 1) Commettere le modifiche locali quante volte necessario. 2) Estrai le modifiche dal server e aggiorna al ramo remoto dopo ogni unione. 3) Sincronizza TDS. Lo facciamo dopo il pull in modo da non sovrascrivere il file .scproj nell'unione 4) Confermare l'unione e sincronizzare TDS 5) Riportare i risultati su remoto
Non abbiamo avuto incubi e tds è stato tenuto molto pulito. Abbiamo cercato di adattare qualcosa di simile a Git e abbiamo sprecato un sacco di tempo ogni settimana per risolvere i problemi.
Al momento abbiamo ogni sviluppatore che lavora nel proprio ramo a causa degli errori di unione che lavorano con tutti quelli del master. Il tipo di problemi di unione che sto vedendo sembra provenire principalmente da ciò che Git si fonde automaticamente. Sicuramente non voglio unire ogni cosa a mano ogni volta, ma non mi dispiacerebbe fare unire i file di progetto a mano. Usiamo Sourcetree e ho BeyondCompare Pro.
Tutti i suggerimenti, specialmente provenienti da implementazioni di successo, sarebbero molto apprezzati. Se ci sono semplicemente modifiche di configurazione che possono essere apportate o una modifica al nostro flusso di lavoro per rendere il processo più affidabile, mi piacerebbe conoscerle.