Вопросы про ветки GIT
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 19.12.21 21:40
Оценка:
Привет тем, у кого уже утро понедельника

Первый вопрос

Во многих репозиториях вижу ветки:

release/1.0
release/2.0
release/3.0

Это как-то связано с тем, что SourceTree такие ветки группирует?

Или это не только SourceTree такое может делать?

Второй вопрос

Если такая стратегия именования действительно связана с группировкой в UI, то почему бы не называть ветки так:

release/1.0/road
release/2.0/road
release/3.0/road

Смысл 'road' (имя от балды, можно и, к примеру, head) в том, чтобы обеспечить возможность создания подветок:

release/1.0/0/road
release/1.0/1/road

или еще более замысловатые:
release/1.0/1/01.00/road

это если в четвертой части идет кодирование версии модуля продукта.

Третий вопрос

Подбешивают списки вида:


И, думаю, не меня одного.

Тем не менее нигде не видел, чтобы в ветках/метках с версиями использовали ведущие нули.

Ветки/метки создают гуру, которых такие мелочи не парят?

Последний вопрос

Ветки с версиями оформляют в виде "release/xxx.xxx"

А метки (теги) релизов как правило нет. В EFCore, к примеру, сначала делали метки с префиксом "release/" а потом на это забили и создают метки просто со строкой версии — "vXX.XX.XX".

Почему не прижилось?

SourceTree может группировать метки так же как и ветки.

Еле вспомнил, еще один

Метки, кроме обозначения версий релизов, еще для чего-нибудь используют?

Спасибо за ответы!
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re: Вопросы про ветки GIT
От: bnk СССР http://unmanagedvisio.com/
Дата: 19.12.21 22:34
Оценка: 8 (1)
Здравствуйте, Коваленко Дмитрий, Вы писали:

Сорри что не подробно, но возможно ты имеешь в виду "release branches"?
К SourceTree или GUI они не имеют отношения. Также в них (обычно) не разрабатывают.

https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow (пролистать до "release branches")
Re: Вопросы про ветки GIT
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.12.21 09:13
Оценка: 8 (1)
Здравствуйте, Коваленко Дмитрий, Вы писали:

КД>Привет тем, у кого уже утро понедельника


КД>Первый вопрос


КД>Во многих репозиториях вижу ветки:


КД>release/1.0

КД>release/2.0
КД>release/3.0

КД>Это как-то связано с тем, что SourceTree такие ветки группирует?


КД>Или это не только SourceTree такое может делать?


Это SourceTree, наверно, группирует потому, что так удобно делать.

КД>Второй вопрос


КД>Если такая стратегия именования действительно связана с группировкой в UI, то почему бы не называть ветки так:


КД>release/1.0/road

КД>release/2.0/road
КД>release/3.0/road

КД>Смысл 'road' (имя от балды, можно и, к примеру, head) в том, чтобы обеспечить возможность создания подветок:


А чем это отличается от ситуации в любой файловой системе, если, например, создаёте файл abc и хотите к нему создать каталог и файлы abc/def, abc/xyz?

Я вот на днях зачекаутил софтину в, грубо говоря, foo, а потом решил, что мне нужны foo/foo она сама, foo/build для сборки, foo/build.log для лога сборки...
А создать просто так foo нельзя уже. Пришлось переименовывать — примерно так:
mkdir foo.d
mv foo foo.d
mv foo.d foo

гимор, а что делать?

КД>release/1.0/0/road

КД>release/1.0/1/road

КД>или еще более замысловатые:

КД>release/1.0/1/01.00/road

Можно. Если вы думаете, что это вам нужно — создавайте. Кто запрещает-то?
Вообще, да, достаточно логично — если ставить такую задачу.

КД>это если в четвертой части идет кодирование версии модуля продукта.


КД>Третий вопрос


КД>Подбешивают списки вида:


КД>

КД>И, думаю, не меня одного.


КД>Тем не менее нигде не видел, чтобы в ветках/метках с версиями использовали ведущие нули.


КД>Ветки/метки создают гуру, которых такие мелочи не парят?


А до какого уровня нужно заранее генерировать эти ведущие нули? Вам достаточно 3 цифр, или надо 4?
Как для меня лично — чуть-чуть парят, конечно. Но не сильно. Просто когда понимаешь, что заранее на всех не напасёшься...
Вон Microsoft, по слухам, пропустила Windows 9, потому что много народа матчили 9* как 95 и 98.

Сейчас можно, конечно, просто годами называть (версия 2021 или просто 21, как у Oracle). Но это не дружит, конечно, с semantic versioning.
Кстати, как раз читаю из определения semantic versioning:

2. A normal version number MUST take the form X.Y.Z where X, Y, and Z are non-negative integers, and MUST NOT contain leading zeroes. X is the major version, Y is the minor version, and Z is the patch version. Each element MUST increase numerically. For instance: 1.9.0 -> 1.10.0 -> 1.11.0.


То есть не просто нежелательно подставлять нули, а явно запрещено.

Можно, конечно, попросить все подобные тулзы действовать как раз по правилам этих сравнений — если имя версии выглядит как version number, сравнивать соответственно (для одного компонента — будет просто как натуральные числа). Может, надо породить тикеты для вашей любимой тулзы делать сравнения именно так.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.