Acabei de tentar criar um novo projeto do Phonegap 3.0 ... Nota: Sou novo no Phonegap. De qualquer forma, vejo que a pasta do projeto contém:
.cordova
merges
platforms
plugins
www
E depois de tentar phonegap local run android
, vejo muitos arquivos binários / gerados no platforms/android
. Isso me deixa pensando, quais partes dessa estrutura de pasta devo adicionar ao meu repositório git. Normalmente, eu consideraria uma prática extremamente pobre comprometer arquivos binários. Por isso, eu normalmente adicionar padrões como bin/
, obj/
, *.o
, *.pyc
etc, para .gitignore
evitar poluir meu repositório git com coisas que só serve para criar conflitos de mesclagem.
Certamente, www
deve ser adicionado ao git, mas e as outras partes do projeto. Até que ponto eles são produtos do código-fonte e até que ponto são configuração de projeto?
O que você faz? Admito que sou novo, então mal entendo o que faz sentido aqui ...
Respostas:
A resposta depende das plataformas em que você está desenvolvendo o aplicativo phongap e se está seguindo a estrutura de diretório padrão.
Se a estrutura de diretório do seu projeto for padrão, você pode começar a partir deste gitignore e modificá-lo de acordo com suas necessidades.
Como regra geral, você deve excluir todos os arquivos gerados, como os diretórios
bin/
egen/
. Se você estiver desenvolvendo uma versão Android do seu aplicativo, você também deve excluir os arquivos de compilação*.apk
.Todos os arquivos gerados no
android
subdiretório também devem ser excluídos:fonte
Expandindo a resposta de @Jake Moshenko:
Gosto da ideia de omitir o
platforms
diretório. Na verdade, posso excluir os diretóriosplugins
eplatforms
. Um bom ponto de partida para.gitignore
:O problema com isso é que uma cópia limpa do repo deve ser inicializada antes que você possa realmente trabalhar com ele. Pode fazer sentido criar um script init como:
Uma ressalva a essa abordagem é que ela torna um pouco mais desafiador personalizar o código / configuração do aplicativo específico da plataforma fora do que é compatível com o phonegap / cordova (ou seja, suporte para orientação de tela).
Atualização: Bash Gist
Esta essência contém um script mais completo para lidar com um projeto que não confirma os diretórios
plugins
eplatforms
. Ele fornece um mecanismo para copiar os ícones e imagens da tela inicial de www para os diretórios da plataforma (para iOS e Android), instalar plug-ins e manipular arquivos específicos da plataforma que devem ser adicionados ao controle de versão.Atualização: Grunt Gist
Aqui está outra essência que é uma porta Grunt do script bash mencionado acima. (Obrigado a @obie por sugerir grunhido).
fonte
platform-merges
diretório. Por exemplo, você pode se comprometerplatform-merges/android/AndroidManifest.xml
. Essa abordagem funciona bem para projetos simples, mas pode complicar as coisas em projetos maiores.rm -rf platforms plugins
.Então, descobri isso por tentativa e erro. O
platforms
diretório pode ser omitido se você estiver usando a compilação local ou remota do phonegap, já que é gerado instantaneamente. Todas as outras pastas, incluindo a pasta oculta,.cordova
são necessárias.fonte
.cordova
pasta - por que você diz que é necessário @Jake Moshenko?Só queria deixar aqui minha experiência com esse problema e a abordagem que finalmente seguimos.
Em nosso projeto phonegap, começamos a comprometer todos os arquivos menos a pasta / plataforma usando o arquivo .gitignore. Pensamos assim, quando o desenvolvedor clonou o repositório, a única ação que resta a fazer seria executar:
phonegap / cordova adicionar plataforma
Mas não foi. Assim que a plataforma foi adicionada e tentamos compilar, apareceu um erro e o aplicativo não foi instalado no dispositivo.
Olhando os logs, recebemos alguns resultados de que esse erro era devido a plug-ins. Então decidimos reinstalar todos os plugins que estávamos usando no projeto e voilá o app rodar corretamente.
Portanto, meu conselho é salvar no repositório todo o conteúdo menos a plataforma de pastas e plug-ins. Crie e carregue para o repositório um arquivo README com uma lista de plug-ins usados no projeto.
Dessa forma, quando um desenvolvedor clonar o repositório, ele deverá:
1.- Adicionar as plataformas: phonegap / cordova adicionar plataforma "plataforma"
2.- Adicionar os plugins: plugin phonegap / cordova adicionar "plugin"
Espero que isto ajude!
Saudações.
fonte
Muitas dessas coisas são antigas e realmente não se aplicam à versão mais recente do Apache Cordova. Estou usando o Apache Cordova 5.1.1 e este .gitignore me permite ainda personalizar com ícones personalizados, etc, enquanto bloqueia todas as coisas que não precisamos para versão para Android e IOS. Sim .gradle é usado, então não o remova!
fonte
www/
pasta lá? Em meu aplicativo, essa era a maior parte das coisas úteis da vida dos aplicativos da web.www/
porque o conteúdo gerado por scripts de construção personalizados. Você realmente não quer arquivos de origem lá.Embora seja uma preferência pessoal, optei por isso (para um projeto apenas com Android). Removendo a maioria, mas mantendo o que é personalizado
fonte