web-dev-qa-db-fra.com

Quelle est la différence entre force Push et normale Push in git

Je veux savoir quelle est la différence entre la poussée forcée et la poussée normale et dans quel type de situations dois-je faire la force poussée? Est-ce une bonne pratique de faire la force poussée dans la branche maître?

7
Sajith Herath

Vous forcez un Push uniquement lorsque vous devez remplacer l'historique à distance par votre historique local.

Cela se produit lorsque vous réécrivez l'historique local, généralement via un git rebase .
Par exemple, si vous venez de pousser un commit incorrect et de le modifier localement, utiliser un Push --force peut aider à corriger un push recent

Si vous êtes le seul à travailler dans la branche sur laquelle vous insistez, ce n'est pas grave.
Si vous êtes pas le seul, vous devez communiquer clairement pour que les autres utilisateurs puissent réinitialiser leur propre succursale locale sur la nouvelle télécommande. Ou vous devez éviter de forcer la force en premier lieu.

Est-ce une bonne pratique de forcer Push dans la branche principale?

En règle générale, ce n'est pas une bonne pratique (encore une fois, sauf si vous êtes le seul à utiliser le référentiel à distance).
Et n'oubliez pas qu’une fois qu’une branche a été forcée ... vous ne pouvez pas savoir qui a fait le Push --force .

10
VonC

Le recours à la force est une méthode très menaçante et risquée si vous travaillez dans un référentiel commun. En utilisant cette force, vous devriez pouvoir forcer votre révision locale vers le référentiel distant. 

Mais pousser avec force au repo à distance n'est pas une bonne pratique. Vous pouvez utiliser le Push normal et résoudre les conflits entre les validations, le cas échéant.

1