web-dev-qa-db-fra.com

Comment éviter les validations de fusion à partir de Git Pull lors de la transmission à distance

J'ai un référentiel et quelques modifications locales à valider. Avant de m'engager, j'ai tiré les modifications sur mon local en utilisant Egit dans Eclipse.

Il crée un commit de fusion et je soumets mon commit dessus.

Maintenant, lorsque j'essaie de pousser vers l'origine, cela montre qu'il poussera mon commit ainsi que le merge commit. Mais idéalement, la validation de fusion ne devrait pas faire partie du référentiel distant.

Comment éviter cela?

21
jazz199

Utilisez l'option de rebase chaque fois que vous extrayez du référentiel distant. Veuillez suivre les étapes ci-dessous,

  1. Validez vos modifications - Cela créera une nouvelle validation dans votre section locale.
  2. Maintenant, faites git pull --rebase <remote-name> <branch-name>.
  3. Fondamentalement, le rebase supprime vos validations que vous avez validées sur la branche actuelle HEAD en tant que patch. Ensuite, il appliquera toutes les validations distantes au-dessus de HEAD et applique ensuite vos validations par-dessus.
  4. La meilleure pratique consiste donc à valider les modifications, puis à extraire les validations à distance à l'aide de l'option de rebase.
37
Mohanraj

Lorsque vous avez des modifications non validées, vous pouvez le faire,

git stash
git pull --rebase <remote> <branch>
git stash pop
7
Gayan Weerakutti

Tu peux courir

git config --global branch.autosetuprebase always

faire git pull --rebase le comportement par défaut pour git pull.

4
CodeKid

La stratégie habituelle est de travailler sur une branche. Lorsque le maître distant change, tirez les changements sur maître et au lieu de fusionner, rebase la branche.

Voir Git Rebase chez Atlassian.

3
choroba