Boa ideia para dividir meu repositório pessoal?

1

Eu tenho muitos arquivos no meu diretório pessoal sob o controle de versão do git.

Minha configuração do emacs, arquivos-fonte zsh, teses de doutorado, etc.

Está tudo em um enorme repositório do git na raiz do diretório inicial. (Claro que os próprios arquivos estão em muitos diretórios diferentes.)

Estou pensando em usar filter-branch para dividir o repo para que meus commits de tese não sejam poluídos com meus .emacs commits, etc.

Geralmente, isso é uma boa ideia? Eu não quero perder nenhuma história.

Terei que copiar meu arquivo .gitconfig para cada diretório que obtiver um repositório?

E se eu acidentalmente git add foo.txt em um diretório antes de git init , ele será colocado no primeiro repositório encontrado enquanto ele percorre minha árvore de diretórios? Ou isso pode ser evitado?

    
por Chris Poole 15.06.2011 / 11:40

1 resposta

0

Se você quiser dividir seu repositório em vários novos, não poderá usar filter-branch , já que é basicamente um poderoso rebase que funciona dentro de um único repositório.

Você não pode ter vários repositórios e ainda manter o histórico, já que o histórico é feito de confirmações que tocam todos os arquivos versionados em seu repositório original. Então, eu tenho medo que você não tenha outra escolha a não ser iniciar os múltiplos repositórios do zero. É claro que você pode arquivar o original para o caso de precisar consultá-lo.

Eu definitivamente evitaria criar um repositório Git em qualquer lugar em um diretório de trabalho, ou seja, fazendo git init em um diretório que já tenha versão no Git. Embora isso seja possível, seria necessário cuidado extremo com os parâmetros --git-dir e / ou --work-tree . Em vez disso, mova o diretório $HOME/.git para algum outro diretório que não seja versionado antes de criar os vários repositórios em diretórios diferentes .

O arquivo .gitconfig é o seu arquivo de configuração do Git . Por padrão, ele reside no seu $HOME . Como o seu diretório home é seu diretório de trabalho, você provavelmente pensou que precisava de um desses arquivos em cada diretório de trabalho, mas não precisava. O arquivo de configuração por repositório é .git/config .

    
por 18.06.2011 / 11:17