Ответ 1
См. " УКАЗАНИЕ ПЕРЕСМОТРЕТЬ " git rev- синтаксический анализ:
Параметр ревизии
<rev>
обычно, но необязательно, называет объект commit.
Он использует то, что называется расширенным синтаксисом SHA1, [и включает в себя] различные способы для обозначения имен объектов.
Итак, "ревизия" относится к идентификатору, который вы можете использовать в качестве параметра для ссылки на объект в git (обычно на фиксацию).
[email protected]{5 minutes ago}
- это ревизия, которая ссылается на фиксацию, присутствующую 5 минут назад.
gitrevision
упоминает:
[...] некоторые команды git (такие как
git show
) также принимают параметры ревизии, которые обозначают другие объектов, чем совершает, например blobs ( "файлы" ) или деревья ( "каталоги файлов" ).
Например, следующий параметр rev не ссылается на фиксацию:
<rev>:<path>, e.g. HEAD:README, :README, master:./README
Суффикс
:
, за которым следует путь, называет пучок или дерево по заданному пути в древовидном объекте, названном частью до двоеточия.
"commit" в git обычно обозначает "объект фиксации" (как описано в git commit-tree
):
A совершает инкапсуляцию:
- все идентификаторы родительских объектов
- имя автора, адрес электронной почты и дата
- имя коммиттера и адрес электронной почты и время фиксации.
Итак:
- фиксация обозначает один из объектов git (другие - это капли, дерево, теги, заметки),
- ревизия является способом ссылки на объект git.
В вашем случае (git clone
) --depth <n>
делает:
Создайте мелкий клон с историей, усеченной до указанного количества ревизий.
Это для всех коммитов, доступных на этой глубине, до n
изменений для каждого пути в DAG.
Поскольку результат может быть больше, чем n
совершает, термин пересмотр более адаптирован здесь, чтобы подчеркнуть, что вы не хотите, чтобы только n
совершал коммит, но любые коммиты, на которые ссылается max n
доступных ревизий.
Однако в этом контексте изменения явно ссылаются только на фиксации (как показано ниже) достижимых (как вы упомянули в Является git clone --depth 1
(мелкий клон) более полезным, чем это делает? ").
Вопрос "достижимый от чего"?
Вы ссылаетесь на этот поток, который включал:
IIRC,
--depth=<n>
не "углубляется на<n>
", но " убедитесь, что у меня есть как минимум<n>
из обновленного совета (ов)".
Маломощный хак дает вам совершенно бесполезную (пусть и внутренне непротиворечивую) семантику, если раньше вы клонировали клонированный путь и получали--depth
после того, как другая сторона добавила еще много коммитов, чем<n>
, поскольку вы не можете угадайте, что правильно значение<n>
должно быть без фактической выборки без--depth
.