Lorsque vous utilisez "Pousser vers l'amont ..." dans Eclipse, les nouveaux validations "locales" sont transmises au référentiel distant et la référence de branche distante est mise à jour dans le référentiel local (donc master
et Origin/master
référence le même commit).
Lorsque vous utilisez "Push ..." et ajoutez une référence Push sur maître dans la fenêtre de l'assistant (refs/heads/*
), les nouveaux commits "locaux" sont poussés vers le référentiel distant (comme précédemment) mais la référence de la branche distante n'est pas mise à jour dans le référentiel local (donc master
référence le dernier commit mais Origin/master
n'a pas bougé).
Quelle est la différence entre ces deux façons de travailler? Est-il utile pour des flux de travail décentralisés particuliers? Quelles seraient les commandes git correspondantes de ces deux approches?
Push to Upstream .. pousse votre branche comme vous vous y attendez pour une branche de suivi à distance.
Pousser ... ouvre une boîte de dialogue et vous permet de spécifier les refspecs que vous devez pousser, y compris les balises, les cas spéciaux comme HEAD: refs/heads/master, etc.
Qu'il ne mette pas à jour Origin/master me semble être un bug, ou peut-être qu'ils attendent la prochaine extraction pour mettre à jour Origin. J'ouvrirais un bogue sur https://bugs.Eclipse.org/bugs/enter_bug.cgi?product=EGit&component=UI
PW
Comme suggéré par Paul, j'ai ouvert un bug sur le Bugzilla d'EGit et j'y ai obtenu une explication.
Lorsque "Push ..." est utilisé, EGit PushWizard appelle la commande de JGit avec les URI des référentiels, pas leurs noms. C'est pourquoi JGit ne peut pas mettre à jour la branche de suivi à distance.
Le bogue est toujours ouvert, nous pouvons donc espérer que dans une future version, "Push ..." effectué à partir d'un "référentiel distant configuré" mettra à jour la branche de suivi à distance.
Pousser ... ouvre une boîte de dialogue et vous permet de spécifier les refspecs que vous devez pousser, y compris les balises, les cas spéciaux comme HEAD: refs/heads/master, etc.
Des paramètres supplémentaires avec Push sont disponibles depuis le Git Repositories
ou Package Explorer
vues, mais vous devez choisir la bonne option.
De Git Repositories
vue:
Push
Next
OU
Remotes
.Origin
Configure Push...
Advanced
(Vous pouvez également développer Origin
puis cliquer avec le bouton droit sur Push
et aller à Configure Push...
puis appuyez sur le bouton Advanced
)
Du Package Explorer
vue
Team
-> Remote
-> Push
-> Next
(équivaut à appuyer sur le bouton "Avancé" dans les étapes ci-dessus.)OU
Team
-> Remote
-> Configure Push to Upstream...