mirror of
https://github.com/git-learning-game/oh-my-git.git
synced 2024-11-05 19:04:33 +01:00
86 lines
2 KiB
Text
86 lines
2 KiB
Text
title = Rebasing
|
|
cards = checkout commit-auto reset-hard rebase
|
|
|
|
[description]
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
Nuovamente, vogliamo rendere questa la nostra realtà di base - il ramo "main" dovrebbe puntare a quella linea temporale!
|
|
|
|
[setup]
|
|
|
|
echo "Non hai una baguette.
|
|
|
|
Non hai caffe.
|
|
|
|
Non hai una ciambella." > you
|
|
|
|
git add .
|
|
git commit -m "L'inizio"
|
|
|
|
git checkout -b baguette main
|
|
echo "Hai una baguette.
|
|
|
|
Non hai caffe.
|
|
|
|
Non hai una ciambella." > you
|
|
git add .
|
|
git commit -m "Compri una baguette"
|
|
|
|
echo "Mangi una baguette.
|
|
|
|
Non hai caffe.
|
|
|
|
Non hai una ciambella." > you
|
|
git add .
|
|
git commit -m "Mangi la baguette"
|
|
|
|
git checkout -b coffee main
|
|
echo "Non hai una baguette.
|
|
|
|
Hai del caffe.
|
|
|
|
Non hai una ciambella." > you
|
|
git add .
|
|
git commit -m "Compri un pò di caffe"
|
|
|
|
echo "Non hai una baguette.
|
|
|
|
Hai bevuto caffe.
|
|
|
|
Non hai una ciambella." > you
|
|
git add .
|
|
git commit -m "Bevi il caffe"
|
|
|
|
git checkout -b donut main
|
|
echo "Non hai una baguette
|
|
|
|
Non hai caffe.
|
|
|
|
Hai una ciamebella." > you
|
|
git add .
|
|
git commit -m "Compri una ciambella"
|
|
|
|
echo "Non hai una baguette.
|
|
|
|
Non hai caffe.
|
|
|
|
Mangi una ciambella." > you
|
|
git add .
|
|
git commit -m "Mangi la ciambella"
|
|
|
|
git checkout --detach main
|
|
|
|
|
|
[win]
|
|
|
|
# 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; }
|
|
|
|
[congrats]
|
|
|
|
Nota come gli altri commit e linee temporali siano ancora li - se qualcosa va storto, puoi ancora tornare in dietro.
|
|
|
|
E' davvero difficile *distruggere* le cose con la tua macchina del tempo.
|