$HOME git repo (выборочно) на github?

Я храню много файлов в своем домашнем каталоге под git. Важные точечные файлы, моя диссертация и т. д.

Я хочу отправить определенные файлы на github, например, мою конфигурацию emacs, чтобы поделиться ими.

Очевидно, я не хочу нажимать весь репо. Подходит ли submodules путь?

Моя первая мысль — создать здесь каталог ~/github/emacs и rsync выборочных файлов, а затем добавить подмодуль в этот каталог, указывающий на github, для отправки.

Это хорошая идея, или есть лучший способ?

(Однако я не хочу, чтобы мой локальный репозиторий git, в котором хранятся все файлы, запутался с этими вещами.)


person user428502    schedule 10.02.2011    source источник


Ответы (3)


Я также храню свои dotfiles (и другую конфигурацию) на github. Мой подход заключается в том, чтобы иметь все эти файлы только внутри репозитория и символически ссылаться на них с помощью задачи rake. Это имеет то преимущество, что ваш фактический домашний каталог не находится внутри репозитория git, и вам не нужно иметь дело с подмодулями где бы то ни было, так как это, вероятно, станет беспорядком в обслуживании (и затруднит повторное использование ваших dotfiles и другие вещи). Для вдохновения мой репозиторий dotfiles можно найти здесь: https://github.com/meineerde/dotfiles

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

Я бы не рекомендовал использовать жесткие ссылки (как предложил Мартиньо Фернандес), поскольку ссылка может быть легко нарушена определенными операциями с файловой системой, и не совсем очевидно, что жесткие ссылки существуют.

person Holger Just    schedule 12.02.2011
comment
Очень круто. И является ли 'rake' инструментом, который любой не-Ruby, использующий unix-идиот с уже достаточным количеством инструментов в голове, может добавить к миксу, не вызывая переполнения мозга? Ваш Rakefile кажется достаточно простым, но ждут ли вас скрытые сложности? И управляет ли он чем-то помимо простого списка символических ссылок? - person ScoBe; 17.02.2011
comment
Грабли делают из рубина просто. Ничего сложного. Если вы где-нибудь используете ruby, вы будете использовать rake. Тем не менее, вы можете легко преобразовать задачи rake в сценарий оболочки, make-файл или даже сценарий perl, если вам нужно. По сути, это всего лишь оболочка для ряда ln -sf вызовов. - person Holger Just; 17.02.2011
comment
Я тоже так делаю, но для установки использую bash-скрипт в репозитории. Также я использую отдельные небольшие репозитории, один для оболочки, один для vim и т. д. Он работает хорошо, и скрипт дает вам хорошее место для любой другой связанной настройки. - person ergosys; 23.10.2011

Вы можете создать каталог ~/github/emacs и поместить туда жесткие ссылки для файлов.

person R. Martinho Fernandes    schedule 10.02.2011

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

person pithyless    schedule 25.06.2011