Portál AbcLinuxu, 10. května 2025 13:32
PROGRAM_XY/ ├── v_1 │ ├── v1.0.0 │ ├── v_1.1 │ │ ├── v1.1.0 │ │ ├── v1.1.1 │ │ ├── v1.1.2 │ │ └── v1.1.3 │ └── v1.2.0 └── v_2 ├── v2.0.0 ├── v2.1.0 └── v2.2.0Chtěl bych, aby na jednoduchém obrázku všichni jasně viděli, co se z čeho odvětlilo a jaký je vztah mezi větvemi a vydanými verzemi. Existuje na to hotový program/skript? Psali jste si někdo něco podobného? *) případně jiného (většinou používám Mercurial), ale na aktuálním projektu to potřebuji pro Git
git log --graph --decorate --all --pretty=format:%d --color=always | uniq
Ono se to značí tak…Existuje asi tisíc způsobů, jak používat verzovací systémy
že máš větev v1.x a na ní tagy v1.1, v1.2, v1.3,… A když chceš udělat opravu ve verzi v1.2, tak uděláš větev v1.2.x a po opravě to otaguješ v1.2.1.Tu konvenci mám podobnou, akorát větve mají v názvu to podtržítko, aby bylo na první pohled vidět, co je větev a co štítek.
Takže je celkem jasné, co kam patří.Mně ano, ale tohle jsem chtěl spíš pro ostatní, aby to viděli v grafu.
tree
).
Asi nejjednodušší bude si skriptem udělat mkdir
a touch
někde v /tmp, pak nad tím pustit tree a pak to smazat ( echo "digraph G { rankdir=\"LR\";" for t in `git tag; git branch --list | sed 's/^..//'` do p=`git describe "$t^" --abbrev=0 2>/dev/null` [ -n "$p" ] && echo " \"$p\" -> \"$t\";" done echo "}" ) | dot -Tsvg -o /tmp/a.svgUkázka výstupu pro repozitář GitLabu v příloze.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.