git engage la fréquence

Depuis que je suis passé de svn à git, j’ai commencé à faire plus de commits chaque fois que je recompilais et mes tests réussissaient. En fin de compte, je finis par engager la fonction par fonction.

Je fais aussi le suivi d’autres projets en utilisant git comme emacs, wordpress, etc. Je vois qu’ils ne le font pas souvent. Alors je me demande comment puis-tu vous engager?

La ligne direcsortingce pour le projet Git lui-même (et le projet Linux, AFAIK) est un commit par “changeset logiquement séparé”.

C’est un peu ambigu, mais vous ne voudrez probablement pas vous engager tous les jours si vous travaillez constamment sur un projet, et vous ne voudrez probablement pas vous engager après chaque changement de fonction – si vous avez modifié plusieurs fonctions dans plusieurs fichiers différents, vous souhaitez valider toutes les fonctionnalités associées si vous le pouvez et fournir un message de validation utile avec lui. Tout le code modifié dans chaque validation doit être lié, mais il peut (et devrait probablement) figurer sur plusieurs fichiers.

Ce que vous voulez probablement garder à l’esprit, c’est dans les revues de code. Si quelqu’un essaie de décider s’il doit fusionner votre travail, il lui est beaucoup plus facile de traiter le travail en cours si chaque engagement est logiquement contenu et séparé l’un de l’autre. Cela vous permet (ou d’autres) de faire fonctionner efficacement Cherry Pick – si vous avez trois commits avec une fonction modifiée dans chacune mais qu’ils sont tous couplés d’une façon ou d’une autre – vous ne pouvez pas être écrasé à un engagement.

Je fais aussi le suivi d’autres projets en utilisant git comme emacs, wordpress, etc. Je vois qu’ils ne le font pas souvent.

Une des bonnes choses à propos de git est que vous pouvez vous engager aussi souvent que vous le souhaitez, et quand vous voulez faire une validation en amont, vous pouvez écraser plusieurs commits en un seul et bon commit en utilisant git-rebase .

En fin de compte, je finis par engager la fonction par fonction

N’oubliez pas que vous pouvez plutôt ” git add ” fonctionner par fonction, en faisant un seul commit:

  • une fois toutes les fonctions écrites ou fixées pour une tâche donnée
  • ou une fois que vous vous rendez compte que la fonction actuelle est trop grande / compliquée pour faire partie d’un commit de sitôt: vous pouvez alors valider ce qui est actuellement “sur scène” (“git added”). annuaire.

Ensuite, le nombre de commits peut être lié à la finalité de la twig:

  • twig locale: devenir fou, commettre quand vous voulez
  • twig “publique” (celle que vous allez pousser):
    • pour un repository local (pour un groupe de personnes sélectionné): vous pourriez regrouper au moins les très petits commits “intermédiaires”
    • pour un repository public (pour tous les développeurs ou autres projets à voir): vous pouvez faire un rebase interactif afin de regrouper votre commit par “activity” ou “task” afin de les rendre plus lisibles.

En bref, les “considérations relatives à la publication ” peuvent, dans un D VCS (comme dans “Dissortingbuted”), vous guider pour déterminer le nombre correct de commits pour les bonnes raisons.

Plus vous vous engagez, plus il est facile de trouver des bugs avec git bisect

Dès que les tests réussissent ou lorsqu’une unité de fonctionnalité est ajoutée / supprimée / modifiée.

Cela dépend vraiment.

Ce que je fais, c’est que je m’engage souvent localement, comme si vous le faisiez, mais je ne fais que pousser mes modifications lorsque j’ai accumulé plusieurs influences.

Cela garantit que je sauvegarde mon travail, mais cela n’encombre pas non plus le repo pour les autres utilisateurs.

Nos besoins commerciaux nous obligent à nous engager sur la twig instable lorsque le programme comstack et à nous engager sur la twig stable lorsqu’elle réussit les tests unitaires et qu’elle a été examinée par le client (alors qu’elle était sous la twig instable).

Je m’engage après avoir ajouté ou modifié des fonctionnalités et réussi mon test. Ou quand je vais passer de mon ordinateur de bureau à mon ordinateur portable et que je veux supprimer le code, je vais commettre et pousser.

Ce que tu fais me semble bien. Chaque fois que vous avez une configuration de travail sur laquelle vous voulez pouvoir revenir si vous faites une erreur, c’est le bon moment pour vous engager. Si vous avez une bonne configuration où l’exécution de tests de régression est rapide et facile, je pourrais voir cela assez souvent. Pour moi, je serais chanceux d’en faire un par semaine.

Je m’engage assez loin l’un de l’autre. git n’est pas destiné à “sauvegarder” votre code, vous devez utiliser des archives tarbox ou dropbox ou quelque chose pour vous assurer de ne pas perdre de code.

Si vous ne commettez pas très souvent, vous pouvez mieux dire exactement ce qui devrait aller dans ce qui s’engage et cela vous donne une histoire plus fluide que 50 commits avec

“oops”, “damn”, “oublié ce fichier”

vous pouvez rebaser, mais si vous ne mettez jamais en scène / engagez en premier lieu, il n’est pas nécessaire de défaire votre travail