я бы не архивировал ветки. Иными словами, ветки архивируют сами. Вы хотите, чтобы информация, относящаяся к археологам, была найдена надежными способами. Надежный в том, что он помогает в ежедневном развитии и не добавляет дополнительного шага к процессу выполнения работы. То есть я не верю, что люди не забудут добавить тег, как только они закончат работу с веткой.
Вот два простых шага, которые очень помогут развитию археологии и .
- Свяжите каждую ветвь задачи со связанной проблемой в трекере проблем, используя простое соглашение об именах .
- Всегда используйте
git merge --no-ff
для объединения веток задач; Вы хотите, чтобы коммит слияния и история всплыли даже для одного коммита.
Вот и все. Зачем? Потому что, как код археолог, я редко начинаю с того, что хочу узнать, какая работа была проделана на ветке. Гораздо чаще именно поэтому во всех кричащих девочках код написан таким образом?! Мне нужно изменить код, но у него есть некоторые странные особенности, и мне нужно озадачить их, чтобы не нарушить что-то важное .
Следующий шаг - git blame
, чтобы найти связанные коммиты, а затем надеяться, что сообщение журнала будет пояснительным. Если мне нужно будет покопаться глубже, я узнаю, была ли работа выполнена в ветке, и прочту всю ветку в целом (вместе с ее комментарием в трекере проблем).
Допустим, git blame
указывает на коммит XYZ. Я открываю браузер истории Git (gitk, GitX, git log --decorate --graph
и т. Д.), Нахожу коммит XYZ и вижу ...
AA - BB - CC - DD - EE - FF - GG - II ...
\ /
QQ - UU - XYZ - JJ - MM
Вот моя ветка! Я знаю, что QQ, UU, XYZ, JJ и MM все являются частью одной и той же ветви, и я должен посмотреть на их сообщения журнала для деталей. Я знаю, что GG будет коммитом слияния и будет иметь название ветви, которая, возможно, связана с проблемой в трекере.
Если по какой-то причине я хочу найти старую ветку, я могу запустить git log
и найти имя ветви в коммите слияния. Это достаточно быстро даже для очень больших репозиториев.
Вот что я имею в виду, когда говорю, что ветви сами архивируют.
Пометка каждой ветви добавляет ненужную работу к выполнению задач (критический процесс, который должен быть безжалостно упорядочен), объединяет список тегов (не говоря о производительности, но удобочитаемость для человека) с сотнями тегов, которые очень редко бывают полезными, и даже не очень полезен для археологии.