arquivos separados em Git
Pergunta
Eu estou tentando manter meus arquivos estáticos em um ramo separado para que eu possa mantê-los de se fundindo em meu mestre brach (em Heroku, necessidades lesma do seu aplicativo para ficar pequeno). Eu não quero ignorar meus arquivos estáticos, porque eu quero mantê-los dentro do meu ramo "devel".
Idealmente, eu gostaria de manter test.db em branco e toda a minha em branco pasta pública no branch master.
Assim, posso criar uma 'sobreposição' em um galho? Posso impedir que certos arquivos / diretórios de fusão no meu branch master?
Solução
Você pode definir esses mesmos arquivos estáticos no seu branch master mas:
- vazio
- witw uns arquivos gitattributes especificando que você sempre quer manter sua versão local (ie esvaziar) ao mesclar esses arquivos
Desde que .gitattribute não seria definir em outros ramos, a fusão desses arquivos iria prosseguir normalmente.
A idéia é definir um arquivo .gitattributes no diretório desses arquivos estáticos no branch master com o seguinte conteúdo:
myStaticFile1 merge=keepMine
myStaticFile2 merge=keepMine
myStaticFile3 merge=keepMine
Os três arquivos será sempre manter o seu conteúdo local (que está vazio em master) ao mesclar a dominar.
Você terá que definir um motorista merge (aqui chamado de "keepmine"). Veja a pergunta ligou a esse script.
Outras dicas
Adicione os arquivos para .gitignore no mestre. Quando você check-out devel, .gitignore vai mudar e não ignorá-los mais. (Note que se você executar git clean -x
, os arquivos serão substituídos.)