Come si evita di lavorare sul ramo sbagliato?

27

Fare attenzione di solito è sufficiente per prevenire problemi, ma a volte ho bisogno di ricontrollare il ramo su cui sto lavorando ( eg "hmm ... Sono nel ramo dev , giusto? ") controllando il percorso di controllo sorgente di un file casuale.

In cerca di un modo più semplice, ho pensato di nominare i file della soluzione di conseguenza ( eg MySolution_Dev.sln ) ma con nomi di file diversi in ogni ramo, non riesco a unire i file di soluzione.

Non è un grosso problema, ma ci sono metodi o "piccoli trucchi" che usi per assicurarti di essere nella branca corretta? Sto usando Visual Studio 2010 con TFS 2008.

    
posta henginy 14.10.2011 - 15:03
fonte

10 risposte

16

Sto usando questo link

Aggiorna il titolo, ad esempio:

sviluppo \ myproject

o

principale \ myproject

o

Stampa \ myproject

Spero che aiuti

    
risposta data 02.07.2013 - 14:00
fonte
16

Assegna un nome alle directory di lavoro in modo diverso. Cioè, se il tuo progetto è intitolato "MY_PROJECT", crea una directory di lavoro diversa per ogni ramo. Se c'è un ramo chiamato "dev", allora avresti bisogno di una directory per trunk e una directory per dev, come questa:

~/henginy/projects/MY_PROJECT-trunk
~/henginy/projects/MY_PROJECT-dev
    
risposta data 14.10.2011 - 15:08
fonte
8

Non lavoro in un generico dev o ramo di un tronco.

I SEMPRE funzionano nei rami delle funzionalità. Quando una funzione è completata, seguo questi passaggi.

  1. Esplora controllo open source.
  2. Unisci da dev al ramo di funzionalità corrente.
  3. Risolvi eventuali conflitti e assicurati che tutto funzioni ancora.
  4. Accedi di nuovo. Unisci funzionalità nel ramo dev.
  5. Apri soluzione di sviluppo.
  6. Controlla il ramo di sviluppo.
  7. Chiudi soluzione di sviluppo.
  8. Consenti a CI di creare e distribuire.

Ho solo il ramo dev aperto per alcuni minuti alla volta e lo chiudo subito.

    
risposta data 14.10.2011 - 16:14
fonte
7

Potresti creare un file vuoto in ogni ramo, ad esempio THIS_IS_TRUNK.txt nel trunk e THIS_IS_DEV.txt in DEV.

    
risposta data 14.10.2011 - 15:54
fonte
6

Eseguo molto del mio lavoro (D) VCS dalla riga di comando. Consiglio vivamente di avere il display pronto dove sei. Ad esempio, il mio prompt quando è in un repository Git sembra (lo faccio anche per SVN):

[BranchName]RepoTop/path/to/current/wd >>

E se il repository è attualmente sporco (modifiche non salvate):

[BranchName!!]RepoTop/path/to/current/wd >>

Ho anche lo sfondo impostato su rosso se connesso a prod, cose del genere. Trovo che le semplici notifiche visive siano molto efficaci per me.

Hai detto che spesso lo vedi spesso dopo essere tornato al tuo computer. Trovo un post-it, con il mio focus corrente (branch, bug #, feature) incollato sulla tastiera quando me ne vado, per essere molto efficace nel permettermi di tornare al lavoro velocemente, piuttosto che ricreare qualunque cosa sia stata fatta l'ultima volta .

    
risposta data 14.10.2011 - 17:03
fonte
4

C'è un'estensione gratuita di Visual Studio chiamata Info soluzione TFS che può essere d'aiuto . Ti mostra il ramo corrente e lo spazio di lavoro in una piccola finestra che puoi collegare / appuntare dove vuoi.

    
risposta data 14.08.2012 - 21:50
fonte
3

Ho utilizzato l'estensione VSCommands (con Visual Studio 2012, ma esiste una versione 2010) e mette comodamente nome del ramo nell'angolo in alto a sinistra dello schermo così come nel solution explorer.

Non affiliato al prodotto in alcun modo, solo un utente felice.

    
risposta data 14.08.2012 - 23:31
fonte
2

Evito di lavorare nel ramo sbagliato facendo quasi tutto nel ramo one (nel trunk - per così detto "tronco instabile" strategia di ramificazione ).

I casi in cui sono obbligato ad aggiornare i rami sono piuttosto rari - si tratta di correzioni di bug pre-produzione e post-produzione (il codice del candidato è isolato nelle filiali). Dal momento che queste correzioni dovrebbero essere anche nel bagagliaio, tipicamente le bozze, le test e le verifico proprio lì nel bagagliaio, quindi la porta al ramo prod. Il porting di solito comporta solo una copia diretta da 1 a 5 file per il controllo branch e build.

  • Sono anche un po 'fortunato che nella maggior parte dei miei progetti la gestione ha preferito convincere i clienti a utilizzare le versioni più recenti invece di applicare patch vecchie: questo porta la parte di aggiornamenti post-produzione nelle filiali a un minimo quasi trascurabile .
risposta data 14.10.2011 - 17:10
fonte
1

Una risposta specifica dipende dal software di controllo della versione che stai usando, ma di solito c'è un comando che ti permette di vedere facilmente il ramo su cui stai lavorando. Ad esempio, con Subversion, usa il comando svn info in una directory per vedere l'URL per quel ramo. Se sei più interessato a un determinato file, puoi specificarlo anche:

caleb-dev$ svn info foo.c 
Path: foo.c
Name: foo.c
URL: https://svn.mycompany.com/repo/sample/branches/caleb-dev/foo.c
Repository Root: https://svn.mycompany.com/repo/sample
Repository UUID: d62f7aef-3ad2-6098-12a-c16647d854ab
Revision: 1042
Node Kind: file
Schedule: normal
Last Changed Author: caleb
Last Changed Rev: 1031
Last Changed Date: 2011-06-07 15:28:27 -0400 (Tue, 07 Jun 2011)
Text Last Updated: 2011-06-08 03:08:12 -0400 (Wed, 08 Jun 2011)
Checksum: 123456789098765432123456789098

Dall'URL, posso vedere che la mia copia di foo.c si trova nel ramo caleb-dev.

Non ho bisogno di farlo molto spesso perché la mia directory locale ha lo stesso nome del ramo. Un rapido sguardo al mio prompt della riga di comando è in genere sufficiente per confermare che sono nella giusta directory, e quindi lavorare nel ramo giusto.

    
risposta data 14.10.2011 - 17:33
fonte
1

Molte risposte qui già, ma nessuna che tocchi la semplice soluzione che abbiamo dove lavoro: per ogni ramo, crea una nuova VM contenente un ambiente di sviluppo, e dai uno specifico ramo. Devi solo farlo e farlo subito una volta, quindi devi solo cambiare VM per cambiare ramo.

    
risposta data 14.08.2012 - 23:35
fonte