Cela s'est produit lorsque j'ai essayé de déployer sur Heroku en tapant la commande git push heroku master
.
Terminal
% git push heroku master
To https://git.heroku.com/~~.git
![rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://git.heroku.com/~~.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Les points sont «rejetés», «non accélérés», «indice».
En conclusion, c'est une erreur qui s'est produite car il n'y avait aucune différence (état) entre Heroku et le commit local. Il semble que Heroku était plus engagé.
L'une des solutions suivantes a été envisagée! En termes simples, git pull heroku master
correspond à l'état de Heroku localement, et git pull origin master
reflète localement l'état distant pour faire correspondre l'état distant à l'état local. pense.
Le but est de maintenir à jour les états distant, local et Heroku (post-déploiement).
Cette fois, je l'ai résolu avec git pull heroku master
!
% git pull origin master
% git pull heroku master
Tout d'abord, quel genre de situation est cette erreur? «Rejeté» signifie que le déploiement est rejeté. Ils émettent poliment un «indice», il semble donc que vous pouvez le résoudre si vous comprenez chacun d'eux. En outre, il s'agit d'une déclaration d'erreur selon laquelle «non-avance rapide» ne peut pas être poussé car il a déjà été poussé.
En gros, je déployais depuis la branche master, donc j'ai fait
git commit --allow-empty -m "empty commit"
puis
git push heroku master``` C'était. Vous avez peut-être créé une nouvelle branche de travail dans cet état en effectuant Annuler ou Rétablir après avoir effectué une validation vide. ..
De plus, je pense qu'il est efficace de regarder la déclaration d'erreur en regardant le journal Heroku.
Terminal
% heroku logs --tail --app Nom de l'application
Si vous faites attention à la première phrase de l'indice
hint
Updates were rejected because the tip of your current branch is behind
Traduit littéralement *** La mise à jour a été rejetée car la pointe de la branche actuelle est en retard. *** est ce que cela signifie. Cela signifie-t-il qu'il y a une lacune ou une différence dans l'engagement? ..
J'ai eu une erreur avec git push heroku master
, alors j'ai pensé aux deux choses suivantes.
- Il y a une différence entre distant et local.
Terminal
% git pull origin master
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:
git config pull.rebase false # merge (the default strategy)
git config pull.rebase true # rebase
git config pull.ff only # fast-forward only
You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.
From https://github.com/~~
* branch master -> FETCH_HEAD
Already up to date.
«Déjà à jour!» Est déjà à jour. (Ou peut-être était-il à jour)
Après cela, j'ai essayé git push heroku master
, mais la même erreur s'est produite sans changement particulier, donc ensuite.
- Il y a une différence locale avec Heroku.
% git pull heroku master
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:
git config pull.rebase false # merge (the default strategy)
git config pull.rebase true # rebase
git config pull.ff only # fast-forward only
You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.
From https://git.heroku.com/~~
* branch master -> FETCH_HEAD
Already up to date!
Merge made by the 'recursive' strategy.
Les points que je pense sont les points sont décrits ci-dessous.
Already up to date!
Merge made by the 'recursive' strategy.
Il semble qu'il a fusionné automatiquement, alors j'ai vérifié GitHub Desktop! Il semble que les engagements passés aient été fusionnés et que les différences aient disparu.
Après confirmation, le déploiement s'est terminé avec git push heroku master
.
--Maintenez à jour l'état du référentiel local et distant, puis déployez. ――Undo et Revert sont des fonctions utiles, mais vous devez penser à ce qui se passe lorsque vous les utilisez. ――S'il y a un indice dans la déclaration d'erreur, il sera résolu rapidement si vous le lisez et l'application peut être efficace même si l'erreur suivante se produit.
http://shoprev.hatenablog.com/entry/2014/07/31/200540 https://qiita.com/taka_no_okapi/items/0444afde4817920d0671 https://qiita.com/nasutaro211/items/c590994a5d5091206c08
Recommended Posts