Impegna tutto il progetto o file di commit?

6

Ho usato per commettere i file che voglio raggruppare. Ma uno dei miei colleghi ha affermato che commettere un intero progetto di lavoro è meglio che commettere file. Penso che abbia senso, ma se mi impegno in questo modo, a volte devo impegnarmi in diversi lavori contemporaneamente.

Qual è la migliore pratica da impegnare?

    
posta Sanghyun Lee 09.08.2011 - 16:20
fonte

5 risposte

28

Impegna una singola unità di lavoro. Altrimenti, ripristinare il commit o rimetterlo altrove (ramo diverso) sarà doloroso.

    
risposta data 09.08.2011 - 16:23
fonte
10

Solitamente uso il commit in anticipo, commetto spesso l'approccio. Funziona meglio con un sistema distribuito come git. Il mio flusso di lavoro di base finisce per essere qualcosa del genere:

  1. Crea un ramo argomento per lavorare sulla mia funzione, bugfix, ecc.

  2. Fai molti piccoli commit su questo ramo, qualunque cosa io voglia veramente

  3. Utilizza lo strumento di rebase interattivo di Git per ripulire la cronologia del mio ramo in unità logiche di lavoro

  4. Unisci (o rebase) questo indietro nel master e invia al nostro repository condiviso

risposta data 09.08.2011 - 16:26
fonte
5

Il commit di file comporta sempre il rischio di eseguire il check in di codice incompleto o non verificato, quindi è necessario essere più attenti. Ciononostante è essenziale avere dei commit individuali per ogni unità di lavoro. Quindi non impegnare mai l'intero progetto a meno che tutte le modifiche apportate non siano correlate.

    
risposta data 09.08.2011 - 16:31
fonte
3

Fai entrambi. Configura l'intero spazio di lavoro ma solo le modifiche correlate.

  • intero spazio di lavoro in modo da poter eseguire il test prima di eseguire il commit;

  • solo modifiche correlate in modo che sia facile commentare, unire, fare riferimento in un sistema di tracciamento dei bug, ...

risposta data 09.08.2011 - 16:37
fonte
2

Mi piace commettere i file correlati insieme, o almeno al punto che il progetto viene compilato quando qualcuno aggiorna. Perché? A seconda dello strumento di controllo della versione, anche l'intero progetto verrà sottoposto a versionamento. In Perforce, ad esempio, ai check-in viene assegnato un numero dell'elenco modifiche. Questi numeri dell'elenco modifiche servono anche come numeri di revisione per l'intera directory. Controllando i singoli file, il codice base non avrà sempre uno stato valido ad ogni revisione. Controllando i file correlati, posso tornare ad altre revisioni, non solo per un file, ma all'intero progetto, e assicurarmi che sia in un posto dove almeno compila e si spera che funzioni correttamente.

    
risposta data 09.08.2011 - 16:39
fonte

Leggi altre domande sui tag