Kaip išvardyti filialus, kuriuose yra tam tikra fiksacija?

Kaip galiu paprašyti git sužinoti, kurie filialai yra susiję? gitk paprastai nurodo filialus, jei yra per daug, tokiu atveju ji tiesiog sako „daug (38)“ arba kažką panašaus. Turiu žinoti visą sąrašą, arba bent kai kuriose šakose yra pataisa.

782
14 сент. Andrė Arnottas surengė rugsėjo 14 d. 2009-09-14 07:03 '09, 07:03 2009-09-14 07:03
@ 2 atsakymai

Git“ puslapyje - rankiniame puslapyje:

  git branch --contains <commit> 

Nurodykite tik tas šakas, kuriose yra nurodytas įsipareigojimas (HEAD, jei nenurodyta). Tai reiškia --list .


  git branch -r --contains <commit> 

Nuotolinio stebėjimo filialų sąrašas (kaip nurodyta toliau pateiktame vartotojo3941992 atsakyme ), ty „vietiniai filialai, kurie turi tiesioginį ryšį su nuotoliniu filialu“.


Taip pat žr.

--contains--contains išsiaiškins, ar jūsų siūlai buvo priskirtas įsipareigojimas. Galbūt jūs turite SHA pataisą iš pataisos, kurią manote taikėte, arba tiesiog norite patikrinti, ar yra jūsų mėgstamiausio atviro kodo projekto pataisa, kuri sumažina atminties naudojimą 75%.

 $ git log -1 tests commit d590f2ac0635ec0053c4a7377bd929943d475297 Author: Nick Quaranto <nick@quaran.to> Date: Wed Apr 1 20:38:59 2009 -0400 Green all around, finally. $ git branch --contains d590f2 tests * master 

Pastaba: jei įsipareigojimas yra sekimo šakoje, pridėkite variantą -a .
(žemiau MichielB )

 git branch -a --contains <commit> 

MatrixFrog , kad ji rodo tik tas šakas, kuriose yra šis tikslus įsipareigojimas.
Jei norite sužinoti, kokiuose filialuose yra „lygiavertis“ pataisymas (ty, kurie filialai pasirinko vyšnias, kurios pagamintos), git cherry

Kadangi git cherry lygina pakeitimo rinkinį, o ne įsipareigojimo identifikatorių (sha1) , galite naudoti git cherry kad sužinotumėte, ar vietinis įsipareigojimas <upstream> buvo taikomas pagal kitą įsipareigojimo ID.
Pavyzdžiui, tai atsitiks, jei atsisiųsite <upstream> pleistrą el. Paštu, o ne tiesiogiai arba traukdami.

  __*__*__*__*__> <upstream> / fork-point \__+__+__-__+__+__-__+__> <head> 

(Čia su žodžiais „ - “ nepateikiama „ git cherry , ty jie jau yra <upstream> .)

1065
14 сент. atsakymą pateikė VonC 14 sep. 2009-09-14 07:08 '09, 07:08 am. 2009-09-14 07:08

Galite paleisti:

 git log <SHA1>..HEAD --ancestry-path --merges 

Iš paskutinio išvedimo komentaro galite rasti originalų šakos pavadinimą

Pavyzdys:

  c---e---g--- feature / \ -a---b---d---f---h---j--- master git log e..master --ancestry-path --merges commit h Merge: gf Author: Eugen Konkov <> Date: Sat Oct 1 00:54:18 2016 +0300 Merge branch 'feature' into master 
7
29 окт. atsakymą pateikė spalio 29 d. Eugen Konkov . 2016-10-29 16:53 '16, 16:53 pm 2016-10-29 16:53

Žr. Kitus klausimus apie „ žymes arba užduoti klausimą