0
votes

Comment ajouter des engagements cachés?

J'ai un projet avec beaucoup de commits. J'aimerais ajouter quelque chose à ce projet, mais je ne veux pas avoir de nouveaux commits dans l'histoire, mais au lieu de cela, je voudrais l'avoir avec la dernière date.

Je sais que je peux utiliser git rebase , mais cela permet de créer un commettre uniquement avec la première date.

mon exemple:

  • Premier commit (autre_author, sur MASTER) - 2019-06-23 10:00:00
  • Deuxième commit (Autre_author, sur Master) - 2019-06-23 11:00:00
  • troisième commit (autre_author, sur maître) - 2019-06-23 12:00:00

    Maintenant, je voudrais commencer mon travail. J'ajoute deux nouveaux commits:

    • quatrième commit (moi, sur le développement) - 2019-06-23 14:00:00
    • cinquième commit (moi, sur le développement) - 2019-06-23 15:00:00

      et je pousse cela dans le référentiel. Le lendemain, j'aimerais ajouter le prochain commit:

      • sixième commit (moi, sur le développement) - 2019-06-24 10:00:00

        Et maintenant ... Que dois-je faire pour avoir cette histoire sur maître:

        • Premier commit (autre_author, sur MASTER) - 2019-06-23 10:00:00
        • Deuxième commit (Autre_author, sur Master) - 2019-06-23 11:00:00
        • troisième commit (autre_author, sur maître) - 2019-06-23 12:00:00
        • Dernier commit (moi, sur maître) - 2019-06-24 10:00:00 (contient quatrième, cinquième et sixième commettre du développement)

          Les heures exactes ne sont pas pertinentes. Je veux juste cacher des dates de commettre les commettres et n'ayez qu'un commettre avec la dernière date.

git

0 commentaires

4 Réponses :


0
votes

Vous pouvez ajouter - modifier à votre commande de validation pour commettre et modifier le message du dernier commit, sans ajouter de nouveau.


0 commentaires

0
votes

Vous pouvez modifier le commit à chaque fois et le pousser quand il est prêt.

E.g. P>

 git commit --amend --no-edit 


1 commentaires

Cela gardera l'horodatage et le message de la validation initiale



0
votes

Vous pouvez utiliser fusion --squash pour obtenir un seul commit de tous, mais ce sera un nouveau commit cependant.


0 commentaires

0
votes

Si vous avez déjà poussé sur le repo à distance, votre meilleur choix serait d'utiliser la suggestion de courge ci-dessus, lorsque vous fusionnez à Maître. Cela vous donnera un commit sur le Maître.

Vous ne voulez pas changer l'historique dans le repo à distance après avoir poussé dessus. C'est une si mauvaise idée que je ne mentionnerai même pas comment faire ça.

Si vous n'avez pas poussé à la répétition à distance, les suggestions ci-dessus en utilisant --AMend sont une bonne idée.


0 commentaires