Почему вы используете Dropbox, а также Git для файла инициализации Emacs?

Я слышал, что у многих пользователей Emacs файл инициализации (.emacs или init.el) находится под управлением git и синхронизирует репозиторий git через Dropbox, когда они запускают Emacs в нескольких системах. Зачем вам использовать git именно в этой ситуации?

Обычно проверка того, в какой системе вы находитесь и какие вещи загружать и устанавливать в зависимости от этого, может происходить в одном и том же файле инициализации для всех систем. Почему именно вы хотите сохранить историю версий вашего файла инициализации, действительно ли так важно, чтобы для него был репозиторий git?

Итак, не достаточно ли просто поместить ваш файл инициализации в каталог Dropbox и загрузить его непосредственно из Emacs, вместо того, чтобы извлекать самую новую версию из вашего синхронизированного репозитория git в Dropbox?


person Michiel Borkent    schedule 03.05.2010    source источник
comment
Это кажется довольно избыточным, учитывая, что в Dropbox встроена базовая поддержка версий.   -  person Amber    schedule 04.05.2010
comment
Донал Феллоуз: áи в заголовке было специально это подчеркнуть, но я изменю его на и потом.   -  person Michiel Borkent    schedule 04.05.2010
comment
@Michiel: В этом нет необходимости; это не привлечет больше глазных яблок в любом случае.   -  person Donal Fellows    schedule 04.05.2010
comment
@Donal Fellows: речь идет не о привлечении большего внимания, а о семантике «и». Вопрос в том, почему git в качестве дополнительного? Итак, почему Dropbox aaaaи git?   -  person Michiel Borkent    schedule 04.05.2010
comment
@Michiel Borkent: Я понимаю, что вы пытались сделать с ударением на án, но акценты никогда не используются таким образом в английском языке, поэтому это сбивает с толку большинство читателей. Вы могли бы сказать, зачем мне использовать и Dropbox, и Git для... вместо этого, когда использование обоих подчеркивает их комбинацию.   -  person Greg Hewgill    schedule 04.05.2010
comment
@Dav, версия Dropbox ограничена 30 днями, если только вы не купите надстройку «pack-rat», которая сохраняет неограниченное количество старых версий. dropbox.com/help/113   -  person Chris Johnsen    schedule 04.05.2010
comment
@ Крис: Верно. Хотя я не совсем уверен, что для .emacs действительно понадобится такое обширное управление версиями.   -  person Amber    schedule 04.05.2010
comment
@Michiel: Мы все здесь программисты. Мы знаем важность «и», и любой, кому это важно (обычно на основе «или», что бы вы ни написали), прочитает сам вопрос, где вы можете использовать выделение, если необходимо.   -  person Donal Fellows    schedule 04.05.2010


Ответы (5)


Git дает вам контроль версий, Dropbox предоставляет вам бесплатный частный хостинг.

До недавнего времени это был единственный известный мне бесплатный метод размещения частного репозитория Git. У Gitorious, repo.or.cz и Co. нет частных репозиториев, а GitHub, ShareSource и их друзья берут деньги за частные репозитории. Assembla — единственный хостер, о котором я знаю, который предлагает бесплатный хостинг частного репо, но это предложение началось только три недели назад.

Персональные файлы конфигурации могут содержать конфиденциальные данные, поэтому имеет смысл размещать их в частном порядке, но, возможно, не имеет смысла платить GitHub 7 долларов в месяц только за один файл .emacs.

person Jörg W Mittag    schedule 04.05.2010
comment
На самом деле вопрос в том, зачем мне иметь контроль версий для моего файла .emacs? - person Michiel Borkent; 04.05.2010
comment
Ола Бини объясняет это здесь: olabini.com/blog/2008 /05/насколько велик ваш emacs - person Andreas; 04.05.2010
comment
Теперь страница Ола Бини находится здесь olabini.se/blog/2008 /05/насколько велик ваш emacs - person karlacio; 23.06.2018

Я использую Dropbox не только для файлов конфигурации Emacs, но и для всех других внешних пакетов (более новый org-mode, SLIME и т. д.) и отдельных файлов .el, поэтому я их устанавливаю и настраиваю (путь загрузки, информационные файлы, байт-файлы). компиляции и т. д.) только один раз для всех систем и использовать Git для управления файлами конфигурации (общая настройка, настройка системы или ОС).

После этого все идет под откос, так как я помещаю тонны справочных материалов в свой Dropbox (документация по API, материалы по протоколам, шпаргалки и т. д.), а также материалы для разработки (файлы jar Java, исходники и т. д.), так что у меня есть одна и та же среда разработки на всех моих системах с командами Emacs для доступа ко всему.

person gko    schedule 04.05.2010
comment
Использование Dropbox для этого не вопрос. Вопрос в том, зачем еще использовать систему контроля версий, в данном случае git, вдобавок ко всему. - person Michiel Borkent; 04.05.2010
comment
Потому что конфигурация и настройка Emacs являются кодом и могут быть довольно сложными и хрупкими, когда речь идет о нескольких машинах с разными ОС? - person gko; 05.05.2010

Пока вы думаете о своих файлах конфигурации как о коде, вы хотите использовать правильную систему контроля версий. Dropbox дает некоторую ценность, но он не в той же лиге, что и git.

Суть в том, что когда вы работаете с кодом, вам нужно нечто большее, чем просто откат к предыдущим версиям документа. Вам нужен быстрый и эффективный способ взглянуть на различия между версиями. Вы хотите знать, что изменилось, почему это изменилось, когда и т. д. Вы хотите создать экспериментальные ветки, где вы пробуете что-то новое, не загромождая то, что, как вы знаете, работает. Вы хотите перенести некоторые изменения из эксперимента в свою стабильную ветку; а может и не все.

Другая проблема заключается в том, что в будущем вы, возможно, захотите переместить свои файлы, включая всю историю, из Dropbox по той или иной причине. Если вы используете git, это тривиально.

person Alf    schedule 06.08.2010

Как только разработчики находят систему управления версиями, которая им нравится, они склонны использовать ее для всех важных файлов. -- Вы гарантируете, что файлы всегда будут создаваться резервные копии, управляться, поддерживать историю (включая журнал комментариев, причины изменений и т. д.)

Git привлек множество пользователей, и я не удивлен, узнав, что люди используют его для отслеживания файлов инициализации.

person Larry K    schedule 03.05.2010

Dropbox предоставляет некоторую поддержку истории, но она не так обширна и управляема, как Git. Если разработчик знаком с Git, для него имеет смысл хранить файлы конфигурации для таких вещей, как Emacs, в Git. У вас есть полное управление версиями, вы никогда не теряете старую версию, вы фиксируете изменения со значимыми сообщениями в нужные моменты времени и т. д.

Итак, зачем делать это в Dropbox, когда Git позволяет вам перемещаться между репозиториями? Простота. Если ваши файлы находятся в Dropbox, они прозрачно и автоматически появляются на всех ваших компьютерах, подключенных к Dropbox. Так что вам не нужно беспокоиться о том, "Я вытащил изменения? Где самые последние изменения?" и т. д. Как уже упоминалось, вам также не нужно где-то иметь частный репозиторий Git, на вашем собственном сервере или в платной службе.

Выполнение обоих действий также дает вам возможность легко клонировать вашу конфигурацию на компьютеры, которые не поддерживают Dropbox (например, удаленные серверы). Dropbox для синхронизации с вашим ноутбуком/рабочим столом/рабочей станцией, git на серверах, и везде у вас будет одинаковая конфигурация с минимальными хлопотами. И осмысленное управление версиями.

person Michael Ekstrand    schedule 17.07.2011