2009-02-05 6 views

risposta

32

Shelved significa che le modifiche sono state annullate per per funzionare in seguito.

Registrato significa che le modifiche sono rese disponibili al resto della squadra, saranno nella build e alla fine verranno spedite.

Molto diverso. Pensa a shelving come strumento per il cambio di contesto quando non hai finito con un compito. Il check-in significa che hai finito (almeno una parte di esso).

+1

Immagina di accantonare qualcosa. La mia soluzione sarebbe quindi costruita con i miei cambiamenti accantonati o come se non avessi cambiato nulla? E, a un certo punto, posso annullare le modifiche e continuare a lavorarci? – chiapa

+0

Apprezzo che sia stata data risposta qualche tempo fa, ma al giorno d'oggi non è raro che gli scaffali siano usati anche da altri sviluppatori. Alcuni esempi: 1) Quando il codice richiede la revisione per il check-in (forse dagli sviluppatori più esperti 2) Quando il lavoro è incompleto e deve essere completato da altri sviluppatori ma non può essere archiviato in quanto potrebbe interrompere la compilazione (in un elemento della configurazione scenario). –

+0

è shelving uguale a git commit before push? –

12

Riposiziona le modifiche quando si desidera salvare le modifiche apportate, ma è necessario tornare alla versione precedente per apportare altre modifiche (ad esempio correzioni di bug) che si desidera distribuire senza gli aggiornamenti attualmente in uso sopra. Dato che di solito fai il check-in abbastanza regolarmente, trovo che si tratti di un evento raro, come quello che ho appena distribuito nella scatola QA e che è stato immediatamente trovato un errore. Accantonerò le modifiche di quel giorno riportandomi alla versione implementata dal QA, apportando l'aggiornamento, quindi annullando le mie modifiche, unendo le due in base alle necessità. Più a lungo e probabilmente cercherai di controllare una versione e una filiale precedenti. Sarei felice di sentire altre esperienze in cui la scaffalatura si è dimostrata più utile, però.

+0

significa che possiamo accantonare i nostri cambiamenti per realizzare una versione separata del nostro progetto?Attualmente sto lavorando a un progetto, e ho bisogno di verificarlo, ma di nuovo un altro controllo con la versione precedente, poiché queste due versioni sono completamente diverse, e sono passato al vecchio codice, ma è anche necessario poiché potrei voler torna ai miei nuovi codici. può essere usato per quello? – deadManN

2

Darcy è perfetto. Puoi anche pensare a scaffalature come a un ramo privato che non è pubblicamente visibile per la maggior parte. Gli scaffali possono anche essere cancellati completamente, non come l'eliminazione del codice archiviato. Se elimini una shelfset è sparita per sempre.

5

Altri utenti possono scaricare i propri scaffali cercandoli, quindi è un buon modo per passare il codice per le recensioni. tuttavia si verificherà un errore se si tenta di eliminare i file di codice che sono già stati estratti, quindi è necessario disporre di un ambiente pulito.

Spesso alleggerisco le mie modifiche alla fine della giornata se sto lavorando su qualcosa di grosso che non riesco a controllare. In questo modo, se il mio PC muore durante la notte, ho un backup sul server.

0

Tutti sopra hanno detto molto e ho imparato da questo.

Solo per aggiungere la mia esperienza, correggimi se sbaglio. In un progetto, abbiamo un file di configurazione mypc.json specifico per ogni PC dello sviluppatore. Di solito lo sostituiamo quando eseguiamo il server localmente. Gli altri membri del team hanno lo stesso nome del file con diverse configurazioni al suo interno. Nessuno vuole che il proprio file venga inserito con lo stesso nome nel ramo di sviluppo. Quindi uso shelve per salvare questo tipo di modifiche. Ogni volta che ho bisogno di queste configurazioni posso facilmente applicare i cambiamenti da shelve e le mie configurazioni di ambiente sono tornate nel mio progetto.

Problemi correlati