mirror of
https://github.com/git-learning-game/oh-my-git.git
synced 2024-11-18 16:20:35 +01:00
86 lines
2 KiB
Text
86 lines
2 KiB
Text
title = Rebasing
|
|
cards = checkout commit-auto reset-hard rebase
|
|
|
|
[description]
|
|
|
|
Okay - Salta vuori che risparmiare tempo al mattino utilizzando universi paralleli è contro il regolamento dell'International Time Travel Association. Dovrai svolgere i tuoi compiti in sequenza dopotutto.
|
|
|
|
Vedi la carta "rebase"? Quando la trascini su di un commit, copierà dopo di esso tutti gli eventi della linea temporale su cui ti trovi! 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.
|