Desde que mudei para o OS X e o Vim, achei mais fácil gerenciar todos os meus 'dotfiles' (todos os meus arquivos de configuração e scripts diversos) com o Git. Tendo já configurado meus dotfiles em um repo seguindo este tutorial , eu percebi que também ser bastante fácil migrar todas as minhas configurações para a minha configuração do Cygwin na minha partição do Windows.
Já tendo a configuração do repositório no Github, eu simplesmente clone
o repositório e movi todos os arquivos para o meu diretório inicial, tornando-o um espelho do meu diretório inicial do OS X. Infelizmente, não consigo usar o repositório real ainda dentro do Cygwin.
O problema é que eu não posso usar meu repositório de dotfiles com o git dentro do Cygwin. A configuração é exclusiva da maioria dos repositórios git normais, em que o diretório de trabalho e o diretório git estão em locais diferentes. Especificamente, o diretório de trabalho é $HOME
( /Users/kyle
no OS X, /home/kyle
no Cygwin) e o repositório git é $HOME/.dotfiles.git
. Então, se eu quisesse obter o status do repositório, por exemplo, eu digitaria o seguinte comando (que eu alias para reduzir a digitação, é claro):
git --work-tree=$HOME --git-dir=$HOME/.dotfiles.git status -uno
Enquanto isso funciona bem no OS X, isso se recusa a trabalhar dentro do Cygwin. Independentemente de usar ou não o meu alias, ou se eu substituo $HOME
manualmente, obtenho o seguinte erro git:
fatal: Not a git repository: /home/Kyle/dotfiles/.git/modules/.build/git
Não entendo de onde vem esse erro, mas o caminho /home/Kyle/dotfiles
era o local original do repositório do git quando eu inicialmente o clonei. Além disso, é importante observar que o repositório depende muito de submódulos. Se detalhes forem necessários, o repo em questão pode ser encontrado no GitHub . Os comandos que executei para configurar o repositório no Cygwin podem também ser encontrados no arquivo Readme .