С тех пор, как я переключился на OS X и Vim, я нашел, что проще всего управлять всеми моими «точечными файлами» (всеми моими файлами конфигурации и другими сценариями) с помощью Git. После того, как я уже настроил мои точечные файлы в репозитории, следуя этому руководству, я решил, что будет достаточно легко перенести все мои настройки в мою настройку Cygwin в моем разделе Windows.
Уже установив репозиторий на Github, я просто clone
его и переместил все файлы в свой домашний каталог, сделав его зеркалом моего домашнего каталога OS X. К сожалению, я не могу использовать реальное репо дальше в Cygwin.
Проблема в том, что я не могу использовать репозиторий dotfiles с git в Cygwin. Настройка уникальна для большинства обычных репозиториев git, поскольку рабочий каталог и каталог git находятся в разных местах. В частности, рабочим каталогом является $HOME
(/Users/kyle
в OS X, /home/kyle
в Cygwin), а git- репозиторий - $HOME/.dotfiles.git
. Поэтому, если я хочу получить, например, статус репо, я набрал бы следующую команду (которую я, конечно, псевдоним, чтобы уменьшить ввод):
git --work-tree=$HOME --git-dir=$HOME/.dotfiles.git status -uno
Хотя это нормально работает на OS X, он отказывается работать в Cygwin. Независимо от того, использую ли я свой псевдоним или заменяю $HOME
вручную, я получаю следующую ошибку git:
fatal: Not a git repository: /home/Kyle/dotfiles/.git/modules/.build/git
Я не понимаю, откуда взялась эта ошибка, но путь /home/Kyle/dotfiles
был исходным местоположением репозитория git, когда я изначально клонировал его. Кроме того, важно отметить, что репо сильно зависит от субмодулей. Если требуется конкретная информация, этот репозиторий можно найти на GitHub. Команды, которые я выполнил для настройки репо в Cygwin, также можно найти в файле Readme.