2020-10-22 17:27:54 +02:00
title = Rebasing
2020-10-27 12:16:33 +01:00
cards = checkout commit-auto reset-hard rebase
2020-10-22 16:19:22 +02:00
2020-10-22 14:01:08 +02:00
[description]
2021-09-17 11:40:31 +02:00
Okay - Viene vuori che risparmiare tempo al mattino utilizzando universi paralleli è contro i regolamenti dell'International Time Travel Association. Dopotutto, dovrai svolgere i tuoi compiti in sequenza.
2020-10-22 14:01:08 +02:00
2021-09-17 11:40:31 +02:00
Vedi la carta "rebase"? Quando la sposti su un commit, copierà gli eventi della tua corrente linea temporale dopo quello specificato! In questo modo crei una linea temporale chiara e pulita dove visiti tutti e tre i negozzi.
2020-10-22 17:27:54 +02:00
2021-09-17 11:40:31 +02:00
Nuovamente, vogliamo rendere questa la nostra realtà di base - il ramo "main" dovrebbe puntare a quella linea temporale!
2020-10-22 14:01:08 +02:00
[setup]
2021-09-17 11:40:31 +02:00
echo "Non hai una baguette.
2020-10-22 14:01:08 +02:00
2021-09-17 11:40:31 +02:00
Non hai caffe.
2020-10-22 14:01:08 +02:00
2021-09-17 11:40:31 +02:00
Non hai una ciambella." > you
2020-10-22 14:01:08 +02:00
git add .
2021-09-17 11:40:31 +02:00
git commit -m "L'inizio"
2020-10-22 14:01:08 +02:00
2021-03-04 10:07:35 +01:00
git checkout -b baguette main
2021-09-17 11:40:31 +02:00
echo "Hai una baguette.
2020-10-22 14:01:08 +02:00
2021-09-17 11:40:31 +02:00
Non hai caffe.
2020-10-22 14:01:08 +02:00
2021-09-17 11:40:31 +02:00
Non hai una ciambella." > you
2020-10-22 14:01:08 +02:00
git add .
2021-09-17 11:40:31 +02:00
git commit -m "Compri una baguette"
2020-10-29 20:02:43 +01:00
2021-09-17 11:40:31 +02:00
echo "Mangi una baguette.
2020-10-29 20:02:43 +01:00
2021-09-17 11:40:31 +02:00
Non hai caffe.
2020-10-29 20:02:43 +01:00
2021-09-17 11:40:31 +02:00
Non hai una ciambella." > you
2020-10-22 14:01:08 +02:00
git add .
2021-09-17 11:40:31 +02:00
git commit -m "Mangi la baguette"
2020-10-22 14:01:08 +02:00
2021-03-09 23:12:54 +01:00
git checkout -b coffee main
2021-09-17 11:40:31 +02:00
echo "Non hai una baguette.
2020-10-22 14:01:08 +02:00
2021-09-17 11:40:31 +02:00
Hai del caffe.
2020-10-22 14:01:08 +02:00
2021-09-17 11:40:31 +02:00
Non hai una ciambella." > you
2020-10-22 14:01:08 +02:00
git add .
2021-09-17 11:40:31 +02:00
git commit -m "Compri un pò di caffe"
2020-10-29 20:02:43 +01:00
2021-09-17 11:40:31 +02:00
echo "Non hai una baguette.
2020-10-29 20:02:43 +01:00
2021-09-17 11:40:31 +02:00
Hai bevuto caffe.
2020-10-29 20:02:43 +01:00
2021-09-17 11:40:31 +02:00
Non hai una ciambella." > you
2020-10-22 14:01:08 +02:00
git add .
2021-09-17 11:40:31 +02:00
git commit -m "Bevi il caffe"
2020-10-22 14:01:08 +02:00
git checkout -b donut main
2021-09-17 11:40:31 +02:00
echo "Non hai una baguette
2020-10-22 14:01:08 +02:00
2021-09-17 11:40:31 +02:00
Non hai caffe.
2020-10-22 14:01:08 +02:00
2021-09-17 11:40:31 +02:00
Hai una ciamebella." > you
2020-10-22 14:01:08 +02:00
git add .
2021-09-17 11:40:31 +02:00
git commit -m "Compri una ciambella"
2020-10-29 20:02:43 +01:00
2021-09-17 11:40:31 +02:00
echo "Non hai una baguette.
2020-10-29 20:02:43 +01:00
2021-09-17 11:40:31 +02:00
Non hai caffe.
2020-10-29 20:02:43 +01:00
2021-09-17 11:40:31 +02:00
Mangi una ciambella." > you
2020-10-22 14:01:08 +02:00
git add .
2021-09-17 11:40:31 +02:00
git commit -m "Mangi la ciambella"
2020-10-29 20:02:43 +01:00
git checkout --detach main
2020-10-22 14:01:08 +02:00
[win]
2021-09-17 11:40:31 +02:00
# Ordina le tre ramificazioni in una e muovi il riferimento al ramo principale
{ git show main:you | grep "Mangi.*baguette"; } && { git show main:you | grep "Bevuto.*caffe"; } && { git show main:you | grep "Mangi.*ciambella"; } && { test "$(git log main --oneline | wc -l)" -eq 7; }
2020-10-22 17:27:54 +02:00
[congrats]
2021-09-17 11:40:31 +02:00
Nota come gli altri commit e linee temporali siano ancora li - se qualcosa va storto, puoi ancora tornare in dietro.
2020-10-29 20:02:43 +01:00
2021-09-17 11:40:31 +02:00
E' davvero difficile *distruggere* le cose con la tua macchina del tempo.