Сообщение Re[4]: Необходимость Git от 17.10.2014 0:10
Изменено 17.10.2014 0:21 ·
Здравствуйте, Нахлобуч, Вы писали:
Н> A>проще — согласен, только откуда там больше возможностей?
Н> А вопросом на вопрос можно? Спасибо. Что такого умеет Git, что не умеет Mercurial?
Может я всего не знаю о hg, но мне кажется, что из этого точно много чего не умеет:
Н> Наоборот -- это да. В Git'е даже близко нет аналога веток из Mercurial и поэтому, помимо всего прочего, история коммитов изобилует "merged remote tracking branch x/y from zzz".
И это правильно Как оно работает в mercurial — это противоречит духу DVCS совершенно, убогое наследие SVN. Вызывает трудности если требудется мержиться из многих репозиториев.
Н> A>проще — согласен, только откуда там больше возможностей?
Н> А вопросом на вопрос можно? Спасибо. Что такого умеет Git, что не умеет Mercurial?
Может я всего не знаю о hg, но мне кажется, что из этого точно много чего не умеет:
- octopus merge — слияние больше чем двух веток сразу.
subtree merge — каталог репозитория мержится туда-сюда с другим репозиторием
index — Очень полезно во время разрешения конфликтов. Супер вещь для любителей командной строки, для оформления аккуратных коммитов.
rerere — Reuse recorded resolution of conflicted merges
notes — добавление меток, аттачей поверх иммутабельной истории.
reflog — история истории.
gerrit — gated commits, peer review тулза с веб-интерфейсом. Идеальна для enterprise разработки.
orphan branch — отдельная история в том же репо. Польза: тут, тут, notes и gerrit настройки репо тоже сирот эксплуатируют.
author/committer — инфа в коммите — тот кто сделал изменение и тот кто его опубликовал — разные люди|даты.
filter-branch — хитровывернутое перелопачивание репозитория для очищения истории. Например, массово заменить табы-пробелы.
log pickaxe — массовый поиск по истории регекспами.
git annex — манипуляция массивными файлами.
tracking file permissions, symlinks
.gitattributes — кастомизация всяких свойств различных файлов. Например, указать специальный алгоритм мержа файлов в некотором каталоге или unix line endings для всех .sh файлов.
shared clone — легковесный клон, который использует данные из репо на том же диске.
grafts/replace — механизмы для рефакторинга истории.
Простой, но очень мощный и гибкий формат репозитория.
Н> Наоборот -- это да. В Git'е даже близко нет аналога веток из Mercurial и поэтому, помимо всего прочего, история коммитов изобилует "merged remote tracking branch x/y from zzz".
И это правильно Как оно работает в mercurial — это противоречит духу DVCS совершенно, убогое наследие SVN. Вызывает трудности если требудется мержиться из многих репозиториев.
Re[4]: Необходимость Git
Здравствуйте, Нахлобуч, Вы писали:
Н> A>проще — согласен, только откуда там больше возможностей?
Н> А вопросом на вопрос можно? Спасибо. Что такого умеет Git, что не умеет Mercurial?
Может я всего не знаю о hg, но мне кажется, что из этого точно много чего не умеет:
Н> Наоборот -- это да. В Git'е даже близко нет аналога веток из Mercurial и поэтому, помимо всего прочего, история коммитов изобилует "merged remote tracking branch x/y from zzz".
И это правильно Как оно работает в mercurial — это противоречит духу DVCS совершенно, убогое наследие SVN. Вызывает трудности если требудется мержиться из многих репозиториев.
Н> A>проще — согласен, только откуда там больше возможностей?
Н> А вопросом на вопрос можно? Спасибо. Что такого умеет Git, что не умеет Mercurial?
Может я всего не знаю о hg, но мне кажется, что из этого точно много чего не умеет:
- octopus merge — слияние больше чем двух веток сразу.
subtree merge — каталог репозитория мержится туда-сюда с другим репозиторием
index — Очень полезно во время разрешения конфликтов. Супер вещь для любителей командной строки, для оформления аккуратных коммитов.
rerere — Reuse recorded resolution of conflicted merges
notes — добавление меток, аттачей поверх иммутабельной истории.
reflog — история истории.
gerrit — gated commits, peer review тулза с веб-интерфейсом, "submit over the web" фича. Идеальна для enterprise разработки.
orphan branch — отдельная история в том же репо. Польза: тут, тут, notes и gerrit настройки репо тоже сирот эксплуатируют.
author/committer — инфа в коммите — тот кто сделал изменение и тот кто его опубликовал — разные люди|даты.
filter-branch — хитровывернутое перелопачивание репозитория для очищения истории. Например, массово заменить табы-пробелы.
log pickaxe — массовый поиск по истории регекспами.
git annex — манипуляция массивными файлами.
tracking file permissions, symlinks
.gitattributes — кастомизация всяких свойств различных файлов. Например, указать специальный алгоритм мержа файлов в некотором каталоге или unix line endings для всех .sh файлов.
shared clone — легковесный клон, который использует данные из репо на том же диске.
grafts/replace — механизмы для рефакторинга истории.
Простой, но очень мощный и гибкий формат репозитория.
Н> Наоборот -- это да. В Git'е даже близко нет аналога веток из Mercurial и поэтому, помимо всего прочего, история коммитов изобилует "merged remote tracking branch x/y from zzz".
И это правильно Как оно работает в mercurial — это противоречит духу DVCS совершенно, убогое наследие SVN. Вызывает трудности если требудется мержиться из многих репозиториев.