„Git“ scenarijus: visų git šakų, kuriose yra įsipareigojimas, sąrašas

Galiu išvardinti visas šakas, kuriose yra konkretus įsipareigojimas naudojant „ git branch --list --contains tik bauda. Tačiau, kaip paaiškinta susijusiame klausime, kaip įtraukti visus filialus , tai yra Kinijos komanda, kuri neturėtų būti naudojama scenarijuose.

Paskutinis klausimas yra naudoti vandentiekio git for-each-ref --contains git for-each-ref komandą, tačiau tai nepalaiko.

Kas yra tinkama santechnikos sąsaja, kurioje išvardytos visos šakos, kuriose yra konkreti fiksacija?

6
06 авг. Joachim Breitner paklausė 06 rugpjūčio mėn. 2015-08-06 13:43 '15 - 13:43 2015-08-06 13:43
@ 2 atsakymai

Vienas galimas sprendimas naudojant git-for-each-ref ir git merge-base vandentiekio komandas (paskutinį variantą pasiūlė pats Joachimas):

2
06 авг. Jubobsas atsakė 06 rugpjūčio mėn 2015-08-06 14:49 '15, 14:49 PM 2015-08-06 14:49

Atnaujinimas per 18 mėnesių (2017 m. Balandžio mėn.) : Nuo Git 2.13 (2017 m. Antrąjį ketvirtį), git for-each-ref --no-contains <SHA1> is git for-each-ref --no-contains <SHA1> yra galutinai palaikomas!

Žr. Įsipareigojimą 7505769 , prisiimkite 783b829 , pataisykite ac3f5a3 , nustatykite 1e0c3b6 , įsipareigokite 6a33814 , įsipareigokite c485b24 , įsipareigokite eab98ee , įsipareigokite bf74804 (2017 m. Kovo 24 d.), Įsipareigokite 7ac04f1 , įsipareigokite 682b29f , įsipareigokite 4612edc , įsipareigokite b643827 (2017 m. Kovo 23 d.), 23ac04f1 , įsipareigokite 7124241 ) ir prisiimkite 17d6c74 , prisiimkite 8881d35 , įsipareigokite b084060 , įsipareigokite 0488792 (2017 m. kovo 21 d.) ) var Arnfjörð Bjarmason ( avar ) .
(„ Junio ​​S Hamano“ - „ gitster - įsipareigojimas d1d3d46 , 2017 m. Balandžio 11 d.)


Originalus atsakymas

Naudodami „Git 2.7“ (2015 m. Ketvirtąjį ketvirtį) gausite išsamesnę „ git for-each-ref --contains git for-each-ref versiją, kuri dabar palaiko --contains

 git for-each-ref --contains <SHA1> 

Su dokumentu

 --contains [<object>]: 

Nurodykite tik tas žymes, kuriose yra nurodytas įsipareigojimas (HEAD, jei nenurodyta).


Žr. Įsipareigojimą 4a71109 , prisiimkite ee2bd06 , prisiimkite f266c91 , nustatykite 9d306b5 , priskirkite 7c32834 , įsipareigokite 35257aa , įsipareigokite 5afcb90 , ..., įsipareigokite b2172fd (2015 m. Liepos 7 d.) Ir nustatykite af83baf (2015 m. Liepos 9 d.) Karthik Nayak ( KarthikNayak ) .
( Junio ​​C Hamano- gitster į įsipareigojimą 9958dd8 , 2015 m. Spalio 5 d.)

Kai kurios „ git tag -l “ ir „ git branch -l “ funkcijos buvo prieinamos „ git for-each-ref “, todėl galiausiai įgyvendinimas gali būti paskirstytas visoms trims, vėlesnėse arba dviejose.

 * kn/for-each-tag-branch: for-each-ref: add '--contains' option ref-filter: implement '--contains' option parse-options.h: add macros for '--contains' option parse-option: rename parse_opt_with_commit() for-each-ref: add '--merged' and '--no-merged' options ref-filter: implement '--merged' and '--no-merged' options ref-filter: add parse_opt_merge_filter() for-each-ref: add '--points-at' option ref-filter: implement '--points-at' option 
5
07 окт. atsakymą pateikė VonC Oct 07 2015-10-07 12:12 '15, 12:12 2015-10-07 12:12

Kiti klausimai, susiję su arba Užduoti klausimą