Quelle est la bonne façon?
git add foo.js
git commit foo.js -m "commit"
git pull
git push
Ou
git pull
git add foo.js
git commit foo.js -m "commit"
git push
Ou
git add foo.js
git pull
git commit foo.js -m "commit"
git push
UPD:
J'ai oublié de mentionner que dans ce cas, j'utilise git add
pour mettre en scène un fichier suivi et modifié . Ne pas inclure un tout nouveau fichier dans le référentiel. Cela change-t-il l'ordre des commandes?
Réponses:
Je pense que la meilleure façon de procéder est:
Stockez vos modifications locales:
Mettez à jour la branche avec le dernier code
Fusionnez vos modifications locales dans le dernier code:
Ajouter, valider et pousser vos modifications
D'après mon expérience, c'est le chemin vers la moindre résistance avec Git (sur la ligne de commande de toute façon).
la source
git stash
?pull = chercher + fusionner.
Vous devez valider ce que vous avez fait avant de fusionner.
Alors tirez après validation.
la source
rebase
place demerge
. Vous pouvez le faire soit avecgit commit && git rebase
ougit pull --rebase
.git pull
après la préparation de mes modifications, car je trouve cela le plus naturel. Bien que je réalise que de nombreux flux de travail différents fonctionnent (le stash est bien aussi), c'est probablement une question de goût.Je suggérerais de sortir de la branche distante aussi souvent que possible afin de minimiser les fusions importantes et les conflits possibles.
Cela dit, j'irais avec la première option:
Validez vos modifications avant de tirer afin que vos validations soient fusionnées avec les modifications à distance pendant l'extraction. Cela peut entraîner des conflits que vous pouvez commencer à gérer sachant que votre code est déjà validé en cas de problème et que vous devez abandonner la fusion pour une raison quelconque.
Je suis sûr que quelqu'un ne sera pas d'accord avec moi, je ne pense pas qu'il y ait de moyen correct de faire ce flux de fusion, seulement ce qui fonctionne le mieux pour les gens.
la source
git add
sert exactement dans mon exemple.Je pense que
git pull --rebase
c'est le moyen le plus propre de définir vos commits localement récents en plus des commits à distance que vous n'avez pas à un certain moment.Ainsi, vous n'avez pas à tirer chaque fois que vous souhaitez commencer à apporter des modifications.
la source
Vous voulez que votre modification soit placée au-dessus de l'état actuel de la branche distante. Vous voulez probablement tirer juste avant de vous engager. Après cela, poussez à nouveau vos modifications.
Les fichiers locaux "sales" ne sont pas un problème tant qu'il n'y a pas de conflit avec la branche distante. S'il y a des conflits, la fusion échouera, il n'y a donc aucun risque ou danger à tirer avant de valider les modifications locales.
la source