Proveniente da uno sfondo svn: non ho quasi mai ramificato, a causa della (scarsa) velocità di commutazione e dell'ora o più necessaria per unire i rami nuovamente nel bagagliaio. A volte, se avessi bisogno di aggiornare un problema su un sito web, avrei apportato le modifiche nel trunk (che sarebbe vissuto insieme alle modifiche precedenti o alle nuove funzionalità) e poi andare a quel file e fare semplicemente "svn up path/to/filename "e aggiornerebbe solo quel file, risolvendo il problema ma risparmiando il resto dei file.comprensione git cherry-pick
Concettualmente, questo non sembra possibile in git (o necessario); è strutturato in staging e commit raggruppati che consentono il cherry-picking? Quindi, potrei cambiare un'area specifica del sito e commetterlo come un gruppo invece di fare come lavoro con svn, e fare circa un giorno di lavoro e toccare i file su tutto il commit dell'intero batch in una volta?
è fantastico. Ho appena giocato con alcune roba "git branch foo old-merge-sha1" ed è semplicemente fantastico. – Hans
È consigliabile creare una diramazione per "CaratteristicaA", quindi diramare nuovamente "Caratteristica" per gli argomenti, unendoli in CaratteristicaA quando sono pronti, ma senza toccare il master finché l'intera Caratteristica non è pronta, quando si 'Unire FeatureA in master? In questo momento (in svn) se sto lavorando a qualcosa che richiederà alcune settimane e ho bisogno di un hotfix, faccio ciò che ho descritto nella mia domanda (svn up path/to/filename) e poi proseguo. La ramificazione di Git sembra essere una raccomandazione per "unire spesso", ma cosa succede se non desidero * che il master/trunk venga toccato fino a quando non è pronto, così posso aggiornare liberamente il sito web. – Hans
@Hans: non si fondono fino a quando, beh, è il momento di unire. Di solito master è un ramo stabile corrente, quindi puoi spostare una funzione parziale ma stabile se lo desideri, ma in generale devi solo unire le cose complete. Ed è abbastanza possibile avere diversi rami stabili di diversi sapori - uno per un dato relase (per il tuo sito web), uno per i test stabili correnti, uno per i test instabili ... basta assicurarsi di fondersi sempre nella giusta direzione (argomento -> funzione -> master o unstable -> stable). – Cascabel