Comment vous écrasez votre référentiel vers le bas pour le premier commit ?
Je peux rebase à la première validation, mais qui me laisse avec 2 validations. Y a-t-il un moyen de faire référence à la validation avant la première ?
Comment vous écrasez votre référentiel vers le bas pour le premier commit ?
Je peux rebase à la première validation, mais qui me laisse avec 2 validations. Y a-t-il un moyen de faire référence à la validation avant la première ?
git reset $(git commit-tree HEAD^{tree} -m "commit message")
Ici,"commit message
" est juste un exemple, n'hésitez pas à utiliser votre propre langue.
tl;dr: pas besoin de squash, utilisez git commit-tree
créer un orphelin s'engager et aller avec elle.
créer un seul commit via git commit-tree
Ce git commit-tree HEAD^{tree} -m "commit message"
n'est:
Crée un nouvel objet commit basée sur la condition de l'arbre de l'objet et émet de la nouvelle révision identification de l'objet sur la sortie standard stdout. Le message de log est lire depuis l'entrée standard, à moins que-m ou-F options sont données.
L'expression HEAD^{tree}
signifie que l'objet de l'arborescence correspondant à l' HEAD
, à savoir la pointe de votre arme actuelle. voir l' Arbre des Objets et de s'Engager-Objets.
réinitialisation de la branche courante dans le nouveau commit
Ensuite, git reset
il suffit de réinitialiser la branche courante dans le nouvellement créé
objet commit.
De cette façon, rien dans l'espace de travail est touché, il n'y a ni besoin de rebase/squash, ce qui le rend très rapide.
real 0m0.020s
user 0m0.000s
sys 0m0.016s
Et le temps nécessaire pour cela est sans importance à la taille et à la profondeur de l'histoire
Peut-être le moyen le plus simple est de simplement créer un nouveau référentiel avec l’état actuel de la copie de travail. Si vous voulez garder tous les messages de validation que vous pourriez faire tout d’abord `` puis que modifier pour le message de validation initiale dans le nouveau référentiel :
ou
Le plus simple est d’utiliser la commande « plomberie » `` pour supprimer la branche actuels.
Vous ne pouvez pas utiliser `` car il a une soupape de sécurité pour arrêter de vous supprimer la branche actuels.
Cela vous replace dans l’état de « commit initial » où vous pouvez commencer avec une nouvelle validation initiale.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.