мерзавцы и время - PullRequest
       30

мерзавцы и время

0 голосов
/ 21 июня 2011

У меня сложилось впечатление, что тег будет действовать как коммит в том, что если у меня есть клон, основанный на старом коммите, я не ожидаю увидеть новые теги, перечисленные в выводе тега git.

Однако это предположение, очевидно, неверно.Это разрушает то, как я планировал использовать теги.Я использую простые теги.Будет ли какой-то другой тип тегов работать иначе с течением времени?

Ответы [ 2 ]

5 голосов
/ 21 июня 2011

Я не уверен в вашей цели, но git не облегчает сортировку тегов по дате коммитов, на которые указывают.

После некоторых исследований и усилий я придумал это:

git tag | xargs -I@ git log --format=format:"%ci %h @%n" -1 @ | sort

Пример вывода:

2008-10-30 08:51:04 -0700 221793e REL_1.0.0
2008-10-31 12:06:57 -0700 51a406c REL_1.0.1
2008-10-31 13:01:18 -0700 e1e9751 REL_1.0.2

При небольшой настройке это также может работать с "git branch" для обработки звездочки, указывающей текущую ветвь.

Еще одна полезная команда ... Включите имена ссылок (ветви, теги и т. Д.) В вывод журнала:

git log --decorate

Есть ли у вас рабочий процесс или сценарий, основанный на предположении, что более новые теги нене существует в старых клонах?Если вы клонируете локальный репозиторий, вы можете попробовать "git clone --no-hardlinks".Но это может быть не лучшим решением для ваших целей.

1 голос
/ 21 июня 2011

A git tag при нормальных обстоятельствах фиксируется. Если вы ссылаетесь на него вчера и ссылаетесь на него сегодня, он будет указывать на тот же SHA / дерево / извлечение.

Однако с течением времени и при изменении вашего хранилища (локально или из-за git-fetch и др.) У того же SHA может появиться больше способов описать (git describe) тот же самый коммит. Несколько тегов могут указывать на один и тот же SHA (или близлежащие коммиты, если нет точек фиксации непосредственно на SHA), и тот, который возвращается git describe, может измениться.

Возможно, вы сможете описать, что вы пытаетесь сделать, и люди увидят, есть ли какие-либо идеи.

...