Portál AbcLinuxu, 4. listopadu 2025 21:29
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.0
Chtě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.svg
Ukázka výstupu pro repozitář GitLabu v příloze.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.