Являются ли теги git более быстрыми, чем коммиты git?

git git-commit git-tag

68 просмотра

4 ответа

Я не уверен, является ли название вопроса наиболее подходящим.

У меня есть данные в текстовых файлах. Эти данные меняются / растут каждый день. Я держу каталог, содержащий эти данные, под контролем исходного кода, git. В конце каждого дня я выдаю команду:

git commit -m "EOD YYYYMMDD"

Часто мне нужно посмотреть, как выглядели данные в прошлом.

  1. Отличается ли использование тегов от коммитов?
  2. Являются ли теги более быстрыми для доступа, чем коммиты, то есть быстрее ли извлекать данный файл, как это было в EOD когда-то в прошлом, с помощью тегов, а не коммитов?
  3. Является ли 1 место более эффективным, чем другое? (размер моего каталога - 3Гб текста)
Автор: MMM Источник Размещён: 24.10.2019 05:38

Ответы (4)


3 плюса

Решение

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

(Что касается пространства, тег всегда будет занимать больше места, чем тег, но теги - это просто короткие текстовые файлы, поэтому создание тысячи из них будет занимать не более пары мегабайт).

Вы, конечно, можете создать теги с именем (например) eod-20160208 после выполнения фиксации на конец дня, а затем проверить код, как это было сегодня, запустив простой git checkout eod-20160208. Это будет проще, чем просматривать последние коммиты на тот, у которого есть соответствующее сообщение о коммите, но не намного проще, чем пропустить тег и запустить его git checkout 'master@{2016-02-08}'.

Это подводит меня к другому вопросу: Git отслеживает дату для вас. Я не скажу, что вы используете это неправильно , потому что Git поддерживает множество различных рабочих процессов; но указание даты в сообщении фиксации немного избыточно. Если вы используете git log, gitkили что - то , чтобы просматривать историю совершения, дата указана прямо рядом с сообщением фиксации. Поэтому я рекомендую использовать, -mчтобы описать сделанные вами изменения, а не указывать, когда вы это сделали. Эта стратегия помогает мне быстрее найти изменения, которые я ищу.

Автор: trentcl Размещён: 08.02.2016 08:59

1 плюс

Тег git указывает на коммит; первое не имеет смысла без второго. И если вы хотите увидеть, как выглядели данные в прошлом, вы должны их зафиксировать; для этого и нужен коммит. Короче говоря, вы делаете это правильно.

Автор: David Deutsch Размещён: 08.02.2016 08:58

1 плюс

Если это не ясно: использование тегов не означает, что вам больше не нужно совершать коммиты. (Аннотированный) тег - это чуть больше, чем коммит с некоторой дополнительной метаинформацией, а легкий тег - буквально просто указатель на коммит (например, ветвь).

Таким образом, ответ на вопросы 3 окончательно нет.

На вопрос 2: извлечение не происходит быстрее, но если вы, например, не знаете точное содержание сообщения о коммите, вам может быть проще перечислить доступные теги и найти коммит, который вы ищете - просто потому, что их меньше.

Наконец, к вашему вопросу № 1. Опять же, теги - это просто аннотации для коммитов, которые предназначены для того, чтобы упростить поиск определенной версии ваших файлов, которая имеет для вас особое значение.

Автор: MikeMB Размещён: 08.02.2016 08:58

0 плюса

1. Отличается ли использование тегов от коммитов?

Нет. Теги - это всего лишь маленькая наклейка, более понятная человеку, чтобы указывать на коммит

  1. Являются ли теги более быстрыми для доступа, чем коммиты, то есть быстрее ли извлекать данный файл, как это было в EOD когда-то в прошлом, с помощью тегов, а не коммитов?

Нет, потому что в конце вы проверяете коммит, указанный тегом. Единственное, что играет роль во время проверки, - это то, как далеко целевой рабочий каталог находится далеко от текущего рабочего каталога (какие изменения следует применить от одного, чтобы получить другой!)

  1. Является ли 1 место более эффективным, чем другое? (размер моего каталога - 3Гб текста)

Теги почти готовы к размещению, но это не то место, где хранятся данные (то есть коммиты). Теги - это просто удобный способ запомнить некоторые важные коммиты, чтобы легче было их найти в будущем.

Автор: Philippe Размещён: 08.02.2016 10:48
Вопросы из категории :
32x32