[devel] perl.git rewrite history
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Ср Сен 20 20:48:24 MSD 2006
Hi,
On Wed, Sep 20, 2006 at 08:54:03AM +0400, Alexey Tourbin wrote:
[...]
> Зато я примерно понял как устроен git. Сейчас попробую объяснить, может
> кому-нибудь от этого будет просветление. git -- это дерево объектов.
> Дерево означает что один объект содержит ссылки на другие объекты вниз
> по дереву. Объекты бывают двух типов: blob (файлы) и tree (структура
> каталогов, в которые надо сувать файлы). tree содержит ссылки на блобы.
Объект типа tree содержит список sha1-имён объектов типов blob и tree.
> Ещё бывают объекты типа commit; каждый новый commit описывает трансформацию
> дерева относительно предыдущего коммита. В объекте commit содержится
> ссылка на предыдущий коммит
Объект типа commit содержит список sha1-имён объектов типа commit.
> и ссылка на дерево
Объект типа commit содержит sha1-имя объекта типа tree.
> которое перекрывает этот
> предыдущий коммит. Всё что новое дерево не перекрывает -- всё то
> остается от дерева из старого коммита.
Нет, никто ничего не перекрывает, просто за каждым commit'ом закреплено
своё дерево.
> Так, имея на руках коммит, можно
> пройтись вниз по дереву к предыдущему коммиту и т.д., т.е. полностью
> развернуть дерево исходников.
Нет, для того, чтобы развернуть дерево исходников, соответствующих данному
коммиту, не надо ходить к другим коммитам, достаточно просто развернуть
дерево, на которое указывает данный коммит.
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060920/1d832167/attachment-0001.bin>
Подробная информация о списке рассылки Devel