web-dev-qa-db-fra.com

Gerrit: combinez plusieurs validations en un seul "changement"

En tant que meilleure pratique git, il convient de valider fréquemment, mais pour réviser le code, vous devrez peut-être réviser un correctif composé de plusieurs validations à la fois. Existe-t-il un moyen de réviser plusieurs validations et de les fusionner ou de les rejeter à la fois?

36
Nonos

Non, Gerrit ne prend actuellement pas en charge les validations par lots dans une seule revue. Cependant, il existe quelques autres options.

Chez $ DAYJOB, mon équipe utilise des branches de fonctionnalités pour des changements plus importants. Les commits plus petits sont examinés/fusionnés dans la branche de fonctionnalité individuellement, mais la branche de fonctionnalité n'est fusionnée qu'une fois que tout est bien en place et que tous les développeurs sont satisfaits.

Gerrit prend également en charge les branches de sujet - qui sont un moyen pratique de regrouper les validations liées. Ils sont discutés brièvement dans la documentation . Ces validations doivent toujours être examinées/fusionnées individuellement, mais elles peuvent être rapidement regroupées dans l'interface utilisateur Web.

17
Brad

Une chose que vous pouvez faire une fusion de squash dans une branche temporaire, puis publier ce changement pour examen.

git checkout -b feature
git commit -m "start feature"
...
git commit -m "finish feature"
git checkout -b feature-review master
git merge --squash feature
git commit

Maintenant votre feature-review la branche contiendra le même diff par rapport à master que feature mais avec un seul commit.

30
Emil Sit

Si vous devez mettre à jour des demandes de révision déjà publiées, vous pouvez utiliser les validations de modifications:

git commit --amend -C HEAD

puis pousser pour un examen conséquent.

Je pense que les validations publiques doivent être atomiques et contenir l'ensemble des fonctionnalités que vous souhaitez apporter. Généralement, vous ne souhaitez pas partager tous vos validations intermédiaires. Donc, écraser les commits avant l'examen est une bonne idée.

1
akirillov