Domanda

C'è un modo semplice di regolare diverse file .gitignore per diversi telecomandi? Ho un repository spingo fino a sia Heroku e Github. Ho bisogno database.yml per Heroku, ma non voglio alcune delle informazioni per essere spinto fino a Github. Quindi ho bisogno di un file .gitignore diverso per ciascuno dei telecomandi.

Ho provato avente due rami distinti, uno che ignora database.yml, e uno che non lo fa. Il problema è che quando ho checkout il ramo Heroku e torno nel mio ramo GitHub, l'intero file database.yml è andato.

Qualche consiglio?

È stato utile?

Soluzione

Non so nulla circa i requisiti per Heroku - si spera giustizia è giusto e si può semplicemente evitare il problema. Se non è possibile, o se qualcun altro trova questo che non possono ...

Se si desidera che i due telecomandi per essere specchi (hanno gli stessi commit), essi devono, per definizione, avere gli stessi file in queste commit. Quindi, si hanno due scelte: sono file-for-repo-B in tutti i repository, anche se non ne hanno bisogno, o utilizzare un flusso di lavoro un po 'disordinato con due rami: master e for-repo-B. L'unica differenza tra i due rami sarebbe l'impegna toccano file-for-repo-B; la for-repo-B ramo sarebbe sempre merge da master (ma mai il contrario!). Ora non resta che un ramo diverso verificato in pronti contro termine B, e tutto è buono.

Altri suggerimenti

Non inserire le informazioni del database in database.yml. Invece, utilizzare variabili di ambiente Heroku.

Si dovrebbe versionned una:

  • database.yml con solo le variabili in essa, e
  • uno script in grado di sostituire quelle variabili dai valori giusti a seconda del server remoto in cui viene distribuito che database.yml.

Quindi si utilizza lo script come un sbavature driver di filtro attributo :

content filter sbavature

Ogni volta che si sarà checkout (e creare un albero di lavoro) su un server remoto, lo script viene eseguito e cambierà le variabili di conseguenza, dando un file database.yml personalizzato.
Se una delle remote non ha bisogno di quel file database.yml, può ancora esserci, ma svuotato dallo script sbavature.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top