oh-my-git/levels/it_IT/shit-happens/bad-commit

32 lines
982 B
Text
Raw Normal View History

2021-09-17 11:40:31 +02:00
title = Annullare un cattivo commit
2021-01-05 16:58:42 +01:00
cards = reset commit-a
[description]
2021-10-07 11:53:41 +02:00
Oh no, abbiamo fatto un cattivo commit! Come possiamo annullare un commit e tornare ad un punto dove poter riprovare?
2021-01-05 16:58:42 +01:00
2021-09-17 11:40:31 +02:00
La risposta è usare `git reset [commit]` che fa due cose:
2021-01-05 16:58:42 +01:00
2021-10-07 11:53:41 +02:00
- Reimposta il riferimento (ref) del ramo corrente al commit che hai specificato.
2021-09-17 11:40:31 +02:00
- Reimposta l'indice a quel commit.
Non cambia la tua directory di lavoro in nessun modo, il che significa che dopo puoi provare a rifare il commit che desideri.
2021-01-05 16:58:42 +01:00
[setup]
echo "1 2 3 4" > numbers
git add .
2021-09-17 11:40:31 +02:00
git commit -m "commit iniziale"
2021-01-05 16:58:42 +01:00
echo "1 2 3 4 5 6 7 8 9 11" > numbers
2021-09-17 11:40:31 +02:00
git commit -am "Più numerrrrri"
2021-01-05 16:58:42 +01:00
[win]
2021-09-17 11:40:31 +02:00
# Nel primo commit il file numbers contiene i numeri da 1 a 10.
2021-01-05 16:58:42 +01:00
test "$(git show main:numbers)" = "1 2 3 4 5 6 7 8 9 10"
2021-09-17 11:40:31 +02:00
# Il messaggio di questo commit è "Più numeri".
git log -1 --oneline | grep "Più numeri"
# Il commit con l'errore si battitura non fa più parte del ramo principale.
2021-01-05 16:58:42 +01:00
git log --oneline | grep -v "rrrrr"