mirror of
https://github.com/git-learning-game/oh-my-git.git
synced 2025-05-01 20:42:01 +02:00
Polish levels some more
This commit is contained in:
parent
951ebd4c59
commit
7740c43a62
14 changed files with 97 additions and 50 deletions
levels/time-machine
|
@ -5,22 +5,20 @@ cards = checkout commit-auto reset-hard rebase
|
|||
|
||||
Okay - turns out that saving time in the morning by utilizing parallel universes is against the regulations of the International Time Travel Association. You'll have to do your tasks in sequence after all.
|
||||
|
||||
See the "rebase" card? When you drag it to a commit, it will put the events in your current timeline on top of the specified one! This way, make a clean, linear timeline where you visit all three shops.
|
||||
See the "rebase" card? When you drag it to a commit, it will copy the events in your current timeline after the specified one! This way, make a clean, linear timeline where you visit all three shops.
|
||||
|
||||
Again, we want to make that our base reality - the "main" tag should point to that timeline!
|
||||
Again, we want to make that our base reality - the "main" branch should point to that timeline!
|
||||
|
||||
[setup]
|
||||
|
||||
mkdir bakery coffee_shop donut_shop
|
||||
|
||||
echo "A friendly old lady.
|
||||
Sells delicious baguettes for 5 coins each." > bakery/mary
|
||||
Sells delicious baguettes." > mary
|
||||
|
||||
echo "A rebellious teenager.
|
||||
Sells good coffee for 2 coins each." > coffee_shop/larry
|
||||
Sells good coffee." > larry
|
||||
|
||||
echo "A snail. Literally a snail.
|
||||
Sells donuts with an unspecified, slimy filling - for 3 coins each." > donut_shop/gary
|
||||
Sells donuts with an unspecified, slimy filling." > gary
|
||||
|
||||
echo "You do not have a baguette.
|
||||
|
||||
|
@ -31,31 +29,39 @@ You do not have a donut." > you
|
|||
git add .
|
||||
git commit -m "The Beginning"
|
||||
|
||||
git checkout -b baguette
|
||||
git checkout -b coffee
|
||||
echo "You have a baguette.
|
||||
|
||||
You do not have coffee.
|
||||
|
||||
You do not have a donut." > you
|
||||
git mv you bakery
|
||||
git add .
|
||||
git commit -m "You get a baguette"
|
||||
git mv bakery/you .
|
||||
git add .
|
||||
git commit -m "You leave the bakery"
|
||||
git commit -m "You buy a baguette"
|
||||
|
||||
git checkout -b coffee main
|
||||
echo "You ate a baguette.
|
||||
|
||||
You do not have coffee.
|
||||
|
||||
You do not have a donut." > you
|
||||
git add .
|
||||
git commit -m "You eat the baguette"
|
||||
|
||||
git checkout -b baguette main
|
||||
echo "You do not have a baguette.
|
||||
|
||||
You have coffee.
|
||||
|
||||
You do not have a donut." > you
|
||||
git mv you coffee_shop
|
||||
git add .
|
||||
git commit -m "You get some coffee"
|
||||
git mv coffee_shop/you .
|
||||
git commit -m "You buy some coffee"
|
||||
|
||||
echo "You do not have a baguette.
|
||||
|
||||
You drank coffee.
|
||||
|
||||
You do not have a donut." > you
|
||||
git add .
|
||||
git commit -m "You leave the coffee shop"
|
||||
git commit -m "You drink the coffee"
|
||||
|
||||
git checkout -b donut main
|
||||
echo "You do not have a baguette.
|
||||
|
@ -63,19 +69,26 @@ echo "You do not have a baguette.
|
|||
You do not have coffee.
|
||||
|
||||
You have a donut." > you
|
||||
git mv you donut_shop
|
||||
git add .
|
||||
git commit -m "You get a donut"
|
||||
git mv donut_shop/you .
|
||||
git add .
|
||||
git commit -m "You leave the donut shop"
|
||||
git commit -m "You buy a donut"
|
||||
|
||||
echo "You do not have a baguette.
|
||||
|
||||
You do not have coffee.
|
||||
|
||||
You ate a donut." > you
|
||||
git add .
|
||||
git commit -m "You eat the donut"
|
||||
|
||||
git checkout --detach main
|
||||
|
||||
git checkout baguette
|
||||
|
||||
[win]
|
||||
|
||||
{ git show main:you | grep "You have a baguette"; } && { git show main:you | grep "You have coffee"; } && { git show main:you | grep "You have a donut"; } && { test "$(git log main --oneline | wc -l)" -eq 7; }
|
||||
{ git show main:you | grep "You ate.*baguette"; } && { git show main:you | grep "You drank.*coffee"; } && { git show main:you | grep "You ate.*donut"; } && { test "$(git log main --oneline | wc -l)" -eq 7; }
|
||||
|
||||
[congrats]
|
||||
|
||||
Notice how the other timelines and commits are still there - if anything goes wrong, you can also travel back to them.
|
||||
|
||||
It's really hard to actually *destroy* stuff with your time machine.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue