3

Я хотел бы поместить все мои точечные файлы (например, .profile, .gitconfig и т.д.) В центральное хранилище git, чтобы мне было легче отслеживать изменения. Я сделал это, но я хотел бы знать, как правильно обрабатывать их синхронизацию с фактическими в ~/. Я думал, что вы можете просто жестко связать их с помощью ln , но это, похоже, не работает так, как я ожидал, то есть, если я редактирую один файл, другой не меняется. Может быть, я неправильно использовал команду ln или неправильно понял, как работают жесткие ссылки.

Как люди обычно делают это? Судя по GitHub, это довольно популярная вещь, поэтому наверняка есть простой способ сделать это, что кто-то придумал.

Кстати, я на Mac OS X 10.6.

4 ответа4

3

Многие программы OS X, такие как TextEdit, сохраняют файлы таким образом, что нарушают жесткие ссылки.

По крайней мере в Linux, символические ссылки обычно используются для этой цели:

$ ln -s ~/dotfiles/bashrc ~/.bashrc
2

Я настоятельно рекомендую vcsh и myrepos для управления вашими точечными файлами через Git (и на нескольких машинах).

Vcsh Ричарда Хартмана позволяет вам управлять всеми вашими точечными файлами в Git без необходимости создавать многочисленные символические ссылки. Ключ в том, что любое количество репозиториев Git может параллельно существовать в вашем домашнем каталоге, не мешая друг другу. Кроме того, vcsh был разработан с учетом myrepos. Этот инструмент позволяет вам управлять всеми вашими хранилищами контроля версий одновременно. В частности, г-н может обновить все ваши репозитории с помощью одного вызова. Идеально подходит для настройки всех ваших точечных файлов на новом компьютере с минимальными усилиями.

Я только что опубликовал запись в блоге, в которой объясняется, как настроить эти инструменты, чтобы вы могли быстро и легко управлять точечными файлами. Может быть, это полезно для вас.

2

Я помогал создать инструмент для работы с этим, который называется freshshell. Это похоже на тоску по дому с добавленной функцией возможности извлекать файлы из любого репозитория GitHub, идея в том, что вы можете собирать части конфигурации других людей вместе со своими.

fresh - это инструмент для настройки конфигурации оболочки (псевдонимов, функций и т. д.) из других в ваши собственные файлы конфигурации. Мы также поддерживаем файлы, такие как ackrc и gitconfig. Думайте об этом как о Bundler для ваших точечных файлов.

1

Существует рубин: тоска по дому, которая решает все это! Он поддерживает GitHub из коробки и будет все для вас.

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

дополнительные, если вы используете VIM?:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .