we should not pull down latest changes from dev branch and then merge those changes into the branch for the user story
Questo è probabilmente il risultato di una delle tre situazioni:
- Sviluppatori "pigri" che non desiderano riconciliare potenziali conflitti di unione più di una volta
- Gli sviluppatori che non capiscono come fare git si fondono
- Un codebase che è così poco modulare che nessuno può lavorare senza toccare il codice su cui altri stanno lavorando attivamente
Per il primo, che sembra probabile, è una questione di pigrizia. Se si dispone di un ramo dev attivo, sarà necessario eseguire il pull più volte su una funzione e potenzialmente più volte al giorno. La soluzione sta riconoscendo che risolvere conflitti di fusione di piccole dimensioni spesso è molto più facile di una massiccia fusione alla fine.
Se gli sviluppatori hanno paura della fusione di git, per qualsiasi ragione, potrebbero semplicemente fare qualcosa di orribilmente hacky. Full disclosure: le mie prime esperienze con git non avevo idea di cosa stavo facendo (ora lo faccio) e per le unioni, di solito ho fatto un "manuale" unione senza nemmeno risolvere le differenze di fusione. Se la tua squadra è altrettanto ingenua di come funziona git, potrebbe farlo per disperazione.
E per ultimo, se la base del codice è la causa principale, potresti essere sfortunato. In questo tipo di situazione è difficile mantenere aggiornato il tuo locale perché ricevi continuamente modifiche al tuo codice. Il refactoring potrebbe essere l'unico modo.
In definitiva però, scopri perché i tuoi sviluppatori vogliono farlo. Renderà più facile la vita in generale a fare pratica con questo.