Comment pousser locales différentes branches Git à Heroku/master
Heroku a pour politique de faire abstraction de toutes les branches, mais "maître".
Alors que je suis sûr que Heroku, les designers ont d'excellentes raisons de cette politique (je suppose pour le stockage et l'optimisation de la performance), la conséquence pour moi en tant que développeur, c'est que quel que soit local, thème de la branche que je travaille, je voudrais un moyen facile de passer Heroku du maître pour que local thème de la branche et de faire un "git push heroku -f" à la sur-écriture maître sur Heroku.
Ce que j'ai eu à la lecture de la "Pousser Refspecs" section de http://progit.org/book/ch9-5.html est
git push -f heroku local-sujet-branche:refs/heads/master
Ce que j'aimerais vraiment est une façon de configurer ce paramètre dans le fichier de configuration de sorte que "git push heroku" toujours au-dessus, en remplaçant local-sujet-branche avec le nom de quelle que soit ma branche actuelle arrive d'être. Si quelqu'un sait comment y parvenir, s'il vous plaît laissez-moi savoir!
Le bémol pour cela, bien sûr, c'est que c'est une question de bon sens si je suis le seul qui peut le pousser à que Heroku app/référentiel. Un test ou d'une équipe d'assurance qualité peut gérer un référentiel d'essayer différentes candidat branches, mais ils devraient coordonner leurs efforts afin qu'ils soient tous d'accord sur ce branche sur laquelle ils sont en train de pousser sur n'importe quel jour donné.
Inutile de dire, il serait également une très bonne idée d'avoir un dépôt distant (comme GitHub) sans cette restriction pour la sauvegarde de tout jusqu'à. Je dirais qu'une "origine" et l'utilisation "heroku" pour Heroku, de sorte que "git push" toujours le dos à tout pour de l'origine, et "git push heroku" pousse quelle que soit la branche, je suis actuellement sur Heroku de la branche master, les remplacer si nécessaire.
Serait-ce de travailler?
[remote "heroku"] url = [email protected]:my-app.git push = +refs/heads/*:refs/heads/master
Je aimerais entendre de quelqu'un de plus expérimenté, avant que je commence à expérimenter, bien que je suppose que je pourrais créer un mannequin application sur Heroku et d'expérimenter avec cela.
Que pour aller chercher, je n'ai pas vraiment de soins si le Heroku référentiel est en écriture seule. J'ai encore un distinct référentiel, comme GitHub, de la sauvegarde et de clonage de tout mon travail.
Note de bas de page: Cette question est similaire, mais pas tout à fait la même que Bon Git déploiement à l'aide de branches de la stratégie avec Heroku?
- Le moment le plus voté réponse est la idiomatiques façon de faire (et de l'Omi, la vraie bonne réponse)
- Une alternative https ressources de pousser à refspecs: git scm documentation sur les poussant refspecs.
Vous devez vous connecter pour publier un commentaire.
Lorsque vous utilisez un caractère générique, il se devait d'être présent sur les deux côtés de la refspec, donc
+refs/heads/*:refs/heads/master
ne fonctionnera pas. Mais vous pouvez utiliser+HEAD:refs/heads/master
:Aussi, vous pouvez le faire directement avec git push:
git push
commandes de faire la même chose. Voirgit push --help
pour le sens de l'-f
option et la+
dans le refspec.Voir https://devcenter.heroku.com/articles/git#deploying-code
git push :master
qui supprime la branche master en les écrasant avec rien. Différent de celui de l'écraser avec une autre branche. Heroku a probablement des mesures de protection pour empêcher la suppression de la branche master.-f
ou--force
, et il est toujours préférable de vous assurer que vous savez ce que vous faites lorsque vous la force de pousser.heroku
Le plus sûr de commande pour pousser locales différentes branches Git à Heroku/master.
Remarque: Bien, vous pouvez pousser sans l'aide de l'option-f,- f (indicateur de force) est recommandé afin d'éviter des conflits avec d'autres développeurs " pousse.
Notez également que si vous utilisez git, un système de flux et de votre branche pourrait être appelé
et avec un git distant appelé stagingtwo, la commande pour le pousser à heroku serait
Vous devriez vérifier heroku_san, il permet de résoudre ce problème tout à fait bien.
Par exemple, vous pouvez:
Il rend également facile à mettre en place de nouveaux Heroku instances de déployer une nouvelle branche de nouveaux serveurs:
Et bien sûr, vous pouvez faire plus simple râteau de tâches si vous faites quelque chose de souvent.
J'ai trouvé cela utile.
http://jqr.github.com/2009/04/25/deploying-multiple-environments-on-heroku.html
Heroku labs propose désormais une github add-on qui vous permet de spécifier la direction de la pour pousser.
Voir Heroku de l'écriture sur cette version bêta.
Vous aurez besoin pour vous inscrire en tant que testeur de la version bêta pour le moment.
Je pense qu'il devrait être
push = refs/heads/*:refs/heads/*
à la place...