183 votes

Git : Erreur "Cannot 'squash' without a previous commit" lors d'un rebase

J'ai ce qui suit dans le texte à faire de git rebase -i HEAD~2 :

pick 56bcce7 Closes #2774
pick e43ceba Lint.py: Replace deprecated link

# Rebase 684f917..e43ceba onto 684f917 (2 command(s))
#
...

Maintenant, lorsque j'essaie d'écraser le premier ( 56bcce7 ) et choisir le second en ajoutant "s" devant le premier, j'obtiens l'erreur suivante :

Cannot 'squash' without a previous commit

Quelqu'un peut-il m'expliquer ce que cela signifie et comment procéder ?

Je veux écraser le premier commit( 56bcce7 ) et "sélectionner et reformuler" la seconde ( e43ceba ) s'engager

1 votes

Remplacez HEAD~2 par HEAD~3 si vous voulez vraiment faire du squash.

3 votes

Et éventuellement utiliser --Root, si HEAD~2 est votre premier commit : stackoverflow.com/a/598788/2444812

2voto

rm -rf star Points 1162

Je viens d'essayer cette approche.

git log -n3

Cela montrerait les 3 derniers commits, ce qui me donnerait une idée du dernier commit et de celui qui l'a précédé. Maintenant, je déclare le rebasage,

git rebase -i HEAD~3

Choisir le dernier commit sur lequel nous devons écraser les deux autres. L'identifiant du commit choisi comme commit de base serait le suivant,

choisir l'identifiant de l'engagement (commit_id)

Pour les deux autres identifiants de livraison, changez-les en,

squash commit_id

ou simplement,

s commit_id

0voto

user8073722 Points 1

Vous pouvez résoudre le problème comme suit : lorsque vous essayez d'écraser la première ligne (56bcce7) et de choisir la seconde, vous devez ajouter "s" avant la seconde ligne mais pas la première. vous pouvez également vous référer au site web suivant : http://backlogtool.com/git-guide/en/stepup/stepup7_5.html

1 votes

Bonjour, il serait préférable que vous passiez à la caisse Comment créer un exemple minimal, complet et vérifiable ? pour de futurs projets à Stack overflow. -Merci d'avance.

Prograide.com

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.

Powered by:

X