Ho più rami e ho scoperto un commit A che ha introdotto un bug nel sistema. Questo è stato successivamente corretto dal commit B su uno dei rami e ricondotto al master, ma al momento non è stato raccolto da tutti i rami incriminati.Mostra tutti i rami che eseguono il commit A è attivo e il commit B non è attivo?
Mi chiedevo se c'è un comando che mostrerà tutti i rami incriminati che hanno commit A ma non hanno commit B?
ho utilizzato la seguente per determinare che un commit esiste su un ramo
$ git branch -r --contains=A
ma voglio cercare di aggiungere a questo per includere qualcosa come
$ git branch -r --contains=A ^--contains=B
Come nota a margine Ho controllato e non ci sono altri commit che contengano lo stesso cambiamento, cioè non è stato selezionato su altri rami, ma alcuni rami hanno commit B in cui sono stati divergenti dal master sin dall'unione e altri no dove esistevano già prima che il commit B fosse intr oduced.
Inoltre, la possibilità di controllare più commit potrebbe essere utile quando il commit che ha risolto un problema (commit B in questo caso) viene selezionato su più rami che già assegnano SHA di commit diversi.
Ciao, sembra che potrebbe essere molto vicino, come dici tu non è perfetto. Potresti fornire alcuni dettagli su cosa segue 'diff <() <()' – Cellze
Questo link spiega cosa 'diff <() <()' fa: http://crashingdaily.wordpress.com/2008/03/ 06/diff-two-stdout-stream/Potrebbe funzionare solo con BASH. –
Il comando 'comm' (ad esempio' comm -23') dovrebbe essere utile per quello che stai facendo. – antak