leve-versão de um repositório/branch no git
Pergunta
Eu estou usando o git em um projeto, que gera grandes quantidades de dados (arquivos de simulação de resultados).Eu sou "forçado" a versão e acompanhar todos os resultados no mesmo repositório.(Este é um requisito difícil e não pode ser alterado)
No entanto, eu não preciso deles.Temos cerca de 50 MB para o projeto e 5 GB de resultados no repositório.
É viável para mim para criar um ramo, excluir todos os resultados, verifique a este ramo de fora e só trabalhar nesse ramo?
Quão difícil seria (o que eu teria que fazer), para empurrar o meu local de alterações de volta para o ramo de gordura?
Há uma melhor solução para se livrar de 5 GB para o meu trabalho?
Solução
Se você fosse fazer um ramo e excluir os arquivos de resultado do ramo, intercalando o seu ramo de volta para o mestre seria também tenta excluir os resultados do mestre.Um arquivo delete é uma mudança como qualquer outro.
Talvez você poderia usar o git submodule suporte para gerenciar as alterações de código como um sub-módulo do repositório de gordura.Desta forma, a gordura repositório parece conter tudo, mas você pode trabalhar em apenas pequenos bits de código de forma independente.Isso pode levar alguns brincar a funcionar sem problemas.
Outras dicas
Se você criar um ramo, e excluir os arquivos indesejados em um commit, você deve ser capaz de cherry-pick qualquer subsequente compromete-se de volta em seu ramo principal sem mesclar a confirmação que exclui os arquivos de dados.
Ver o manual para git cherry-pick.
Além git cherry-pick, outra alternativa é executar o git-reverter a exclusão de arquivo alterar apenas antes de se fundir.