On 22.05.2018 19:51, Alex Korchmar wrote: > Konstantin Stefanov <cstef@mail.ru> wrote: > >>> branch/merge > KS> Hе понял, вроде бы git branch/merge притащит в новую ветку все твои > KS> коммиты с оригинальными логами, чего и хочется избежать. Или ты про > По идее ровно один (глобальный) комит он притащит. С логом "merged from..." > Остальные останутся где были, это ж другая ветка. У merge-коммита 2 родителя, т.е. как минимум ссылки на обе ветки есть, при мерже в локальном репозитории он в логе показывает коммиты из обоих веток. Что будет, если в удаленном репозитории будет только одна из этих веток - я не пробовал, но тогда по идее в удаленном репозитории будет коммит, у которого родитель в это репозитории отсутствует, что по идее неправильно. Hадо проверить.
> KS> всякие --squash, --no-commit? > no-commit это для другого - merge остается в рабочей копии, а не в репо - > вдруг ты еще что-то с ним делать собрался. Ага, точно, попутал.
>>> и есть еще mutable history, но это полная имитация гита со всеми вытекающими, >>> включая "мертвые ветки никому не видны, но вообще-то они есть". > KS> Все ж таки их время от времени сборщик мусора вычищает. > я не очень понимаю это место в гите. Они же есть в виде xref'ов, пусть и > безымянные - gc разьве такие удалит? Да кто ж его знает, я тоже в нем не дока. По идее, он должен вычищать по цепочке все, на что нет ссылок, ну и далее по цепочке, как любой сборщик мусора. Hо вот что он считает "нет ссылки" - вопрос сложный. И даже толком не проверишь.
-- Константин Стефанов
Hе кантовать, не гегелить. --- ifmail v.2.15dev5.4 * Origin: Demos online service (2:5020/400)