Flusso di lavoro di Team Git che funziona con una soluzione Sitecore multi-progetto tramite TDS

6

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.

    
posta Jon Upchurch 23.12.2013 - 23:36
fonte

1 risposta

1

Quindi ci sono molte cose in questa domanda che non so, ma mi sento come se un'applicazione corretta di un file .gitattributes potesse risolvere molti dei conflitti. link

Ad esempio, ci sono alcuni file in cui le persone aggiungono sempre le righe, raramente li rimuovono. Quindi una riga simile a *.tds merge=union può aiutare a prendersi cura di tutti i conflitti. Senza capire Sitecore e TDS un po 'di più sto solo cercando di indovinare i tuoi bisogni esatti, ma spero che questo ti faccia iniziare sulla strada giusta.

    
risposta data 23.01.2014 - 00:53
fonte

Leggi altre domande sui tag