some levels translated

This commit is contained in:
Luca Canali 2021-09-13 17:54:39 +02:00
parent 331f08b899
commit 68577813c2
11 changed files with 156 additions and 159 deletions

View file

@ -1,43 +1,43 @@
title = Moving through time
title = Muoversi attraverso il tempo
cards = checkout commit-auto
[description]
The yellow boxes are frozen points in time, we call them "commits"! You can travel between them using the "checkout" card! (Try it!)
La scatole gialle sono un punto fisso nel tempo, possiamo chiamarli "commits"! Puoi viaggiare tra loro usando la carta "checkout"! (Provala!)
Can you find out what happened here? Then, while on the last commit, edit the files to fix the problem, and make a new commit!
Puoi scoprire cosa è successo qui? Quindi, durante ultimo commit, modifica i files per risolvere il problema ed invia un nuovo commit!
[cli]
To checkout a specific commit, type `git checkout`, then a space, and then right click on the commit you want!
Guarda uno specifico commit, digita `git checkout` uno spazio e premi il tasto destro sopra il commit che vuoi!
This will insert the commit's unique identifier!
Questo inserirà l'identificatore unico del commit!
[setup]
echo "This piggy bank belongs to the big sister.
It contains 10 coins." > piggy_bank
echo "Questo salvadanaio appartiene alla sorella maggiore.
Contiene 10 monete." > piggy_bank
git add .
git commit -m "The beginning"
git commit -m "L'inizio"
echo "A young girl with brown, curly hair." > little_sister
echo "Una giovane donna con capelli, ricci, marroni." > little_sister
git add .
git commit -m "Little sister comes in"
git commit -m "La sorella piccola è arrivata"
echo "Has 10 coins." >> little_sister
echo "This piggy bank belongs to the big sister.
It is empty." > piggy_bank
echo "Ha 10 monete." >> little_sister
echo "Questo salvadanaio appartiene alla sorella maggiore.
E' vuoto." > piggy_bank
git add .
git commit -m "Little sister does something"
git commit -m "La sorella piccola ha fatto qualcosa"
git checkout HEAD^^
git branch -df main
[win]
# Restore sisterly peace.
{ git show HEAD:piggy_bank | grep "10 coins"; } && { git show HEAD:little_sister | grep -v "10 coins"; } && { git rev-parse HEAD^^^; }
# Ripristina il salvadanaio della sorella.
{ git show HEAD:piggy_bank | grep "10 monete"; } && { git show HEAD:little_sister | grep -v "10 monete"; } && { git rev-parse HEAD^^^; }
[congrats]
Wonderful! Now that you're getting familiar with the time machine, let's look at some more complicated situations...
Stupendo! Adesso hai preso famiglirità con la macchina del tempo, vediamo situazioni più complicate...

View file

@ -1,65 +1,65 @@
title = Make parallel commits
title = Crea universi paralleli
cards = checkout commit-auto
[description]
Did you know that creating parallel timelines is perfectly legal and safe? It's true!
Sai che creare line temporali parallele è perfettamente legale e sicuro? Vero!
Can you find out when things went wrong in this zoo? Then, go back to the last good commit and create a parallel universe where everyone is happy!
Puoi scoprire qundo le cose sono andate male in questo zoo? Poi torna all'ultimo momento buono e crea un universo parallelo dove sono tutti felicy!
[cli]
The blue animal represents a concept known as the "HEAD pointer" in Git: It shows you which commit is the current one.
L'animale blue rappresenta un concetto conosciuto come "HEAD pointer" in Git: Ti mostra qual'è il commit attuale.
Here's a cool trick to go to the previous commit:
Ecco un simpatico trucchetto andare al commit precedente:
git checkout HEAD^
You can also go back two commits by typing, for example:
Puoi anche andare indietro di 2 commit digitando, pre esempio:
git checkout HEAD~2
[setup]
mkdir cage
echo "Looks very hungry." > cage/lion
echo "Sembra molto affamato." > cage/lion
echo "A small child.
It really loves cats!" > child
echo "Un ragazzino..
Ama veramente i gatti!" > child
git add .
git commit -m "The beginning"
git commit -m "L'inizio"
echo "It's holding a lollipop." >> child
git commit -am "The child buys something"
echo "Tiene in mano un leccalecca." >> child
git commit -am "Il ragazzo compra qualcosa"
mv child cage
git add .
git commit -m "The child climbs somewhere"
git commit -m "Il bambino si arrampica da qualche parte"
git rm cage/child
echo "Looks happy. :)" > cage/lion
echo "E' felice. :)" > cage/lion
git add .
git commit -m "Oh no"
echo "It's sleeping." > cage/lion
echo "Sta dormendo." > cage/lion
git add .
git commit -m "Nap time!"
git commit -m "Ora del pisolino!"
git checkout --detach
git branch -d main
[win]
# Make sure that the child is happy.
# Assicurati che il ragazzino sia felice.
git ls-tree --name-only -r HEAD | grep child
# Make sure that the lion gets something to eat.
git show HEAD:cage/lion | grep -v "very hungry"
# Assicurati che il leone abbia qualcosa da mangiare.
git show HEAD:cage/lion | grep -v "molto affamato"
[congrats]
Whew, good job! This seems like a *much* better outcome.
Whew, ottimo lavoro! Questo sembra un risultato molto migliore.
Feel free to add more parallel timelines, or make them longer.
Sentiti libero di aggiungere altre line temporali parallele o allungarle.
If you're ready, our next mission is already waiting...
Se sei pronto, la prossima missione ci sta aspettando...

View file

@ -1,34 +1,33 @@
title = Branches grow with you!
title = I rami crescono con tè!
cards = checkout commit-auto branch branch-delete reset-hard
[description]
Note that there are two options to "travel to the end of a timeline":
Nota che ci sono due opzioni per "viaggire fino alla fine della linea temporale":
First, you can directly travel to the commit, like we've done it before.
Primo, puoi direttamente viaggiare al commit, come abbiamo fatto prima.
And second, you can travel to the branch label. In this case, when you make a new commit, the branch will grow with you, and still point at the end of the timeline!
e secondo, puoi viaggiare fino all'etichetta del ramo. In questo caso, quando crei un nuovo commit, il ramo cresce con te e punta ancora alla fine della linea temporale!
[cli]
Per viaggire in un ramo, digita `git checkout name_of_the_branch`.
To travel to a branch, type `git checkout name_of_the_branch`.
And to travel to the last commit, type `git checkout --detach name_of_the_branch`.
e per viaggiare all'ultimo commit, digita `git checkout --detach name_of_the_branch`.
[setup]
echo "You wrap the birthday present, and grab your concert ticket." > you
echo "In carti il regalo di complanno e prendi il biglietto del concerto." > you
git add .
git commit -m "Evening preparations"
echo "You go to the birthday party!" >> you
git commit -m "Preparazioni della sera"
echo "Vai alla festa di compleanno!" >> you
git add .
git commit -m "Go to the birthday"
git commit -m "Vai alla festa di compleanno"
git branch birthday
git checkout HEAD~1
echo "You go to the concert!" > you
echo "Vai al concerto!" > you
git add .
git commit -m "Go to the concert"
git commit -m "Vai al concerto"
git branch concert
git checkout HEAD~1
@ -37,7 +36,7 @@ git branch -D main
[win]
# Travel directly to the last yellow commit of the birthday timeline, make a change to 'you', and make a commit
# Viaggi direttamente all'ultimo commit giallo della line temporale del compleanno, fai un cambiamento per te e crea un commit
for commit in $(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep 'commit$' | cut -f1 -d' '); do
if test $(git rev-parse $commit^) = $(git rev-parse birthday); then
return 0
@ -45,5 +44,5 @@ for commit in $(git cat-file --batch-check='%(objectname) %(objecttype)' --batch
done
return 1
# Travel to the blue 'concert' branch, make a change to 'you', and a commit.
git show concert^ | grep "Go to the concert"
# Viaggi fino al ramo, blue, del concerto, fai un cambiamento ed un commit.
git show concert^ | grep "Vai al concerto"

View file

@ -1,14 +1,13 @@
title = Branch from stash
title = Ramo dalla scorta
cards = checkout commit-auto merge reset-hard
[description]
If you want to keep your changes but they don't belong to the main branch, you can easily
create a new branch from your stashed changes. Just use
Se vuoi matenere tutte le modifiche ma non appartengono al ramo principale, puoi facilemnte creare un nuovo ramo dai cambiamenti dalle modifiche nascoste. Usando
git stash branch <branchname> <stash>
If you just want to use the latest stash entry, you can leave the <stash> option empty.
Se vuoi solo usare l'ultimo elemento della scorta puoi lasciare vuota l'opzione <stash>.
Create a new branch from the stashed changes!
Crea un nuovo ramo dalle modifiche nascoste!!
---
tipp1
@ -19,24 +18,24 @@ tipp3
[setup]
echo "Apple Pie:" > recipe
echo "Torta di mele:" > recipe
git add .
git commit -m "creating a recipe"
git commit -m "creata una ricetta"
echo "- 4 Apples" >> recipe
echo "- 4 Mele" >> recipe
git add .
git commit -m "Adding ingredients"
git commit -m "Aggiunto ingredienti"
echo "- 500g Flour" >> recipe
echo "- 500g Farina" >> recipe
git stash push
git checkout main
[win]
# Did you create a new branch from the stashed changes?
# Hai creato un nuovo ramo dai cambiamenti nascosti?
test "$(git branch --list| wc -l)" -ge 2
[actions]
@ -45,4 +44,4 @@ test "$(git branch --list| wc -l)" -ge 2
[congrats]
Stashed changes are in a new branch! :)
I cambiamenti nascosti sono nel nuovo ramo! :)

View file

@ -1,17 +1,17 @@
title = Clear the Stash
title = Pulire la scorta
cards = checkout commit-auto merge reset-hard
[description]
If you want to inspect your stash stack, use the command
Se vuoi controllare la tua scorta, usa il comando
git stash list
Oh, you don't want to keep your stashed changes? There are way too many? Then go ahead and clear the stack with
Oh, non vuoi mantenere i tuoi cambiamenti nella scorta? C'è un modo per farlo? Poi vai avanti e pulisci la scorta con
git stash clear
If you only want to discard a certain stash entry, you can use
Se vuoi solo scartare un certo elemento dalla scorta, puoi usare
git stash drop <stash>
Clear your stash stack!
Pulisci la tua pila di scorta!
---
tipp1
@ -22,30 +22,30 @@ tipp3
[setup]
echo "Apple Pie:" > recipe
echo "Torta di mele:" > recipe
git add .
git commit -m "creating a recipe"
git commit -m "creata una ricetta"
echo "- 4 Apples" >> recipe
echo "- 4 Mele" >> recipe
git add .
git commit -m "Adding ingredients"
git commit -m "Aggiunto ingredienti"
echo "- 500g Flour" >> recipe
echo "- 500g Farina" >> recipe
git stash push
echo "- 200g Sugar" >> recipe
echo "- 200g Zucchero" >> recipe
git stash push
echo "- Pinch of Salt" >> recipe
echo "- Pizzico di sale" >> recipe
git stash push
git checkout main
[win]
# Did you clear your stash stack?
# Hai pulito la tua pila di scorta?
test "$(git stash list | wc -l)" -eq 0
[actions]
@ -54,4 +54,4 @@ test "$(git stash list | wc -l)" -eq 0
[congrats]
All clear! :)
Pulito tutto! :)

View file

@ -1,13 +1,12 @@
title = Merging popped stash
title = Unire la scorta spuntata
cards = checkout commit-auto merge reset-hard
[description]
When you want to reapply your changes but you already continued working on your file, you might get
a merge conflict! Let's practise this situation.
Pop the changes from the stash with
Quando vuoi riapplicare i cambiamenti ma hai continuato a lavora nei tuoi file, potresti ricevere un conflitto di unione! Facciamo un pò di pratica con questa situazione.
Fai uscire le modifiche dalla scorta con
git stash pop
and resolve the merge conflict. Commit the resolved changes and clear the stash stack afterwards.
e risolvi i conflitti di unione. Invia la soluzione dei cambiamenti e dopo pulisci la scorta.
---
tipp1
@ -18,31 +17,31 @@ tipp3
[setup]
echo "Apple Pie:" > recipe
echo "Torta di mele:" > recipe
git add .
git commit -m "creating a recipe"
git commit -m "creata una ricetta"
echo "- 4 Apples" >> recipe
echo "- 4 Mele" >> recipe
git add .
git commit -m "Adding ingredients"
git commit -m "Aggiunti ingredienti"
echo "- 500g Flour" >> recipe
echo "- 500g Farina" >> recipe
git stash push
echo "- Pinch of Salt" >> recipe
echo "- Pizzico di sale" >> recipe
git checkout main
git add recipe
[win]
# Did you resolve the confict and commit?
{ git show HEAD | grep "Flour"; } && { git show HEAD | grep "Salt"; }
# Hai rislto i conflitti ed inviato?
{ git show HEAD | grep "Farina"; } && { git show HEAD | grep "Sale"; }
# Did you clear stash stack?
# Hai pulito la pila di scorta?
test "$(git stash list | wc -l)" -eq 0
[actions]
@ -51,4 +50,4 @@ test "$(git stash list | wc -l)" -eq 0
[congrats]
Yay, you got your changes back! :)
Yay, hai riavuto le tue modifiche in dietro! :)

View file

@ -1,11 +1,11 @@
title = Pop from Stash
title = Pop dalla scorta
cards = checkout commit-auto merge reset-hard
[description]
When you stashed your changes and you want to apply them back to your current working directory, you can use
Quando hai nascosto le tue modifiche e vuoi riapplicarle nella tua directory di lavoro, puoi usare
git stash pop
This will remove the changes from the stash stack. If you also want to keep the changes on the stash stack, use
Questo rimuoverà i cambiamenti dalla pila di scorta. Se voui anche mantenere le modifiche della pila di scorta usa
git stash apply
---
@ -17,24 +17,24 @@ tipp3
[setup]
echo "Apple Pie:" > recipe
echo "Torta di mele:" > recipe
git add .
git commit -m "creating a recipe"
git commit -m "creata una ricetta"
echo "- 4 Apples" >> recipe
echo "- 4 Mele" >> recipe
git add .
git commit -m "Adding ingredients"
git commit -m "Aggiunto ingredienti"
echo "- 500g Flour" >> recipe
echo "- 500g Farina" >> recipe
git stash push
git checkout main
[win]
# Did you pop the changes from the stash stack?
# Hai pop i cambiamenti dalla pila di scorta?
test "$(git stash list | wc -l)" -eq 0
[actions]
@ -43,4 +43,4 @@ test "$(git stash list | wc -l)" -eq 0
[congrats]
Yay, you got your changes back! :)
Yay, hai riavuto i tuoi cambiamenti in dietro! :)

View file

@ -1,17 +1,17 @@
title = Creating tags
title = Creare etichette
cards = checkout commit-auto merge reset-hard
[description]
Some of your commits may be special commits. Maybe you reached a milestone or a new version number.
Alcuni dei tuoi commit potrebbero essere commit speciali. Potresti aver raggiunto un traguargo o un nuovo numero di versione.
You can mark these commits with a special flag called 'tag'.
Puoi contrassegnare questo commit con un flag spegiale chiamato 'tag'.
Write
Scrivi
git tag <tag-name>
to tag your commit.
per etichettare il tuo commit.
---
tipp1
@ -22,26 +22,26 @@ tipp3
[setup]
echo "event 1" > feature-list
echo "event 1" > elenco-caratteristiche
git add .
git commit -m "Adding feature 1"
git commit -m "Aggiunta caratteristica 1"
echo "event 2" >> feature-list
echo "event 2" >> elenco-caratteristiche
git add .
git commit -m "Adding feature 2"
git commit -m "Aggiunta caratteristica 2"
echo "event 3" >> feature-list
echo "event 3" >> elenco-caratteristiche
git add .
git commit -m "Adding feature 3"
git commit -m "Aggiunta caratteristica 3"
git checkout --detach main
[win]
# Did you create a new tag?
# Hai creato un nuovo tag?
test "$(git tag -l | wc -l)" -ge 1
[actions]
@ -50,4 +50,4 @@ test "$(git tag -l | wc -l)" -ge 1
[congrats]
Nice! You tagged your first commit :)
Bene! Hai etichettato il tuo primo commit :)

View file

@ -1,14 +1,14 @@
title = Tagging later
title = Etichettare dopo
cards = checkout commit-auto merge reset-hard
[description]
But what happens if you forgot to tag your current commit?
No Prob! You can also tag older commits via
Ma cosa succede se ti dimentichi di etichettare il corrente commit?
No c'è problema! Puoi etichettare i vecchi commit tramite
git tag <tag-name> <commit-hash>
Tag the commit "Adding feature 2" with the name "v1"!
Etichetta il commit "Aggiunta caratteristica 2" con il nome "v1"!
---
tipp1
@ -19,26 +19,26 @@ tipp3
[setup]
echo "event 1" > feature-list
echo "event 1" > elenco-caratteristiche
git add .
git commit -m "Adding feature 1"
git commit -m "Aggiunta caratteristica 1"
echo "event 2" >> feature-list
echo "event 2" >> elenco-caratteristiche
git add .
git commit -m "Adding feature 2"
git commit -m "Aggiunta caratteristica 2"
echo "event 3" >> feature-list
echo "event 3" >> elecno-caratteristiche
git add .
git commit -m "Adding feature 3"
git commit -m "Aggiunta caratteristica 3"
git checkout --detach main
[win]
# Did you create a new tag?
# Hai creato una nuova etichetta?
test "$(git show v1 -s --format=%h)" = "$(git show HEAD~1 -s --format=%h)"
[actions]
@ -47,4 +47,4 @@ test "$(git show v1 -s --format=%h)" = "$(git show HEAD~1 -s --format=%h)"
[congrats]
Well done :)
Motlo bene :)

View file

@ -1,34 +1,34 @@
title = Remote Tags
title = Etichette remote
cards = pull push commit-auto checkout
[description]
When you work with remote repositories, tags are not pushed or pulled automatically.
Quando lavori con un repositor remoto, le etichette non sono messe o prese automaticamente.
You can push a tag with
Puoi inviare un tag con
git push <remote> <tag-name>
Or all tags with:
O tutti i tags con
git push <remote> --tags
Deleting tags on your remote works with:
Rimuovere i tags nel repository remoto con
git push <remote> --delete <tag-name>
You can also sync
Puoi anche sincronizzare
git fetch <remote> --prune --prune-tags
Add a tag named "v2" to the last commit and push it to the remote. Also pull the v1 tag to your local repository.
Aggiungere un nome di tag "v2" nell'ultimo commit ed inviarlo nel remoto, anche prendere il tag "v1" in quello locale.
[setup yours]
git checkout main
git checkout main
echo "toothbrush sharing" > project-ideas
echo "Condivisione dello spazzolino" > project-ideas
git add .
git commit -m "First idea"
git commit -m "Prima idea"
echo "Is my phone upside down? App" >> project-ideas
git commit -am "Another idea"
echo "Il mio telefono è sottosopra? App" >> project-ideas
git commit -am "Un'altra idea"
@ -45,14 +45,14 @@ git branch -u friend/main main
git tag v1 HEAD~1
[win]
# v1 tag in your repo
# v1 tag nel tuo repo
test "$(git show v1 -s --format=%h)" = "$(git show HEAD~1 -s --format=%h)"
# v2 tag in your repo
# v2 tag nel tuo repo
test "$(git show v2 -s --format=%h)" = "$(git show HEAD -s --format=%h)"
[win friend]
# v2 tag in the remote
# v2 tag nel remoto
test "$(git show v2 -s --format=%h)" = "$(git show HEAD -s --format=%h)"

View file

@ -1,13 +1,13 @@
title = Removing tags
title = Rimuovere etichette
cards = checkout commit-auto merge reset-hard
[description]
You added way too many tags? No prob! Delete them with
Hai aggiunto molte ectichette? Non c'è problema! Cancellali con
git tag -d <tag-name>
Remove all tags in this repo!
Rimuovi tutti i tag in questo repository!
---
tipp1
@ -18,20 +18,20 @@ tipp3
[setup]
echo "event 1" > feature-list
echo "event 1" > elenco-caratteristiche
git add .
git commit -m "Adding feature 1"
git commit -m "Aggiunta caratteristica 1"
echo "event 2" >> feature-list
echo "event 2" >> elenco-caratteristiche
git add .
git commit -m "Adding feature 2"
git commit -m "Aggiunta caratteristica 2"
echo "event 3" >> feature-list
echo "event 3" >> elenco-caratteristiche
git add .
git commit -m "Adding feature 3"
git commit -m "Aggiunta caratteristica 3"
git tag v1 HEAD~2
git tag v2 HEAD~1
@ -41,7 +41,7 @@ git checkout --detach main
[win]
# Did you remove all tags?
# Hai riosso tutte le etichette?
test "$(git tag -l | wc -l)" -eq 0
[actions]
@ -50,4 +50,4 @@ test "$(git tag -l | wc -l)" -eq 0
[congrats]
Well done :)
Molto bene :)