Utilizza il flusso di lavoro bisezionato
Bisect trova il primo commit che ha introdotto un problema dimezzando la cronologia tra un commit che lo ha e uno che non lo ha, come git bisect. Seleziona i due commit, testa il commit GitTree effettua il check-out, contrassegnalo come Good o Bad e ripeti finché non nomina First bad commit.
Funziona in GitTree Gratuito: tutte le funzionalità Git locali, una volta effettuato l'accesso.
In questa pagina
Prima di iniziare
- Conosci un commit in cui esiste il problema e uno più vecchio in cui non esisteva e come testarlo.
- Effettua il commit o l'archiviazione delle modifiche: bisect controlla i commit.
Dove trovarlo
- Seleziona i due commit nel grafico, fai clic con il pulsante destro del mouse: Bisect Between These Commits.
| Azione | macOS | Windows e Linux |
|---|---|---|
| Jump to HEAD | ⌘⇧H | Ctrl+Shift+H |
Passi
Inizia tra due commit
Seleziona un commit con il problema e uno più vecchio senza di esso (Ctrl-clic, ⌘-clic su un Mac) e scegli Bisect Between These Commits. Quello più nuovo viene trattato come cattivo, quello più vecchio come buono.
Testare il commit estratto
GitTree controlla un commit a metà e dice quante revisioni restano da testare. Costruisci o esegui il tuo test.
Segnatelo
Nel banner scegli Good se il problema è assente, Bad se è presente o Skip se non puoi testare questo commit.
Leggi la risposta
Quando rimane un commit, GitTree dice First bad commit: con il suo SHA. Show in Graph lo seleziona.
Risultato atteso
Sai esattamente quale commit ha introdotto il problema; scegli End Bisect per tornare al punto di partenza.
Suggerimenti
- Ogni passaggio dimezza ciò che rimane: mille commit richiedono circa dieci passaggi.
- Durante la bisezione sei su una TESTA staccata; questo è previsto.
- End Bisect ti riporta sempre al punto di partenza.
Se qualcosa va storto
Bisect Between These Commit è disattivato
Seleziona esattamente due commit e prima termina o interrompi qualsiasi unione o rebase in corso.
Domande
Cosa succede se un commit non viene creato?
Scegli Skip. Git sceglie invece un commit vicino; la risposta potrebbe quindi essere un intervallo breve anziché un commit.