t.t писал(а): ↑20.04.2010 22:36
Так они не для этого.
А для чего?
t.t писал(а): ↑20.04.2010 22:36
Точнее, не очень понятно, чего ты хочешь.
Я, скорее,
не хочу, чем хочу :) Я не понимаю, зачем в истории хранить принадлежность ченджсета ветке.
t.t писал(а): ↑20.04.2010 22:36
Локальные имена, которые вообще не будут никуда пушиться?
Не то, чтобы совсем никуда, но в общем, да.
t.t писал(а): ↑20.04.2010 22:36
Или ты хочешь их пушить внутри команды, но не отдавать наружу?
Внутри репозитория. Они видны снаружи, на них можно ссылаться, но они не сохраняются в истории. Как URI репозитория, из которого я тянул изменения — после того, как я вытянул изменения, теряется информация о том, откуда оно было вытянуто.
t.t писал(а): ↑20.04.2010 22:36
Тогда объясни своими словами, как это реализовано в git -- я попробую "перевести".
Попробую провести сразу две параллели: с объектами в памяти и ФС.
В основе репозитория git лежит некий направленный граф объектов, которые однозначно идентифицируются по id
(ср. указатель)(ср. inode). Есть «точки входа» (ТВ) в этот граф, например, HEAD
(ср. именованные переменные в программе)(ср. directory entry). Те объекты, до которых нельзя добраться из ТВ, двигаясь по направлению рёбер графа — мусор, он убирается сборщиком мусора (есть настраиваемое время жизни — мусор может жить некоторое время, на всякий случай). Тэги и ветки — это просто именованные ТВ в граф объектов. Когда кто-то синхронизируется с репозиторием, он может выбрать одну из ТВ и вытянуть соответствующий подграф себе, обозвав при этом так, как ему нравится
(ср. передача указателя и присвоение его другой переменной)(ср. копирование файла), совершенно не важно, как называлась та ТВ, через которую он вытянул этот подграф.
Естественно, если я поддерживаю публичный репозиторий, то я поддерживаю разумные имена веток и тэгов, разумное их перемещение (например, двигать HEAD ветки «назад» в публичном репозитории противопоказано — много чего сломается у тех, кто уже синхронизировался) и т.п. Но это ограничения, накладываемые конкретно на публичный репозиторий. В своём личном я могу творить что угодно, как угодно.