mirror of
https://github.com/git-learning-game/oh-my-git.git
synced 2025-05-01 20:42:01 +02:00
Add all new levels
This commit is contained in:
parent
8c4c4feeef
commit
812bf48b55
7 changed files with 202 additions and 0 deletions
levels/intro
48
levels/intro/motivation
Normal file
48
levels/intro/motivation
Normal file
|
@ -0,0 +1,48 @@
|
|||
[description]
|
||||
|
||||
So you've been working on an essay about goldfish. You can look at the backup copies you made by clicking on them!
|
||||
|
||||
But look - something went wrong in the latest version of the file! Maybe it has been infected with a vowel-eating virus?
|
||||
|
||||
Make a new version (with the number 5) from the last version that's still okay, and add at least two more lines to it!
|
||||
|
||||
[congrats]
|
||||
|
||||
Good that you had that backup, huh?
|
||||
|
||||
But you're a bit worried that two weeks from now, you'll have hundreds of copies of your essay, and it will be hard to keep track of all of them.
|
||||
|
||||
And especially when working with other people, sending backup copies around doesn't seem ideal.
|
||||
|
||||
Let's look at another way to do this. :) Click "Next Level" as soon as you're ready!
|
||||
|
||||
[setup]
|
||||
|
||||
rm -rf .git
|
||||
|
||||
echo "~ Why goldfish are the best pets ~
|
||||
|
||||
(I still need to write this.)" >> essay_1.txt
|
||||
|
||||
|
||||
echo "~ Why goldfish are the best pets ~
|
||||
|
||||
- They don't make any noise.
|
||||
- They are pretty. (I should probably put this higher in the list?)" >> essay_2.txt
|
||||
|
||||
|
||||
echo "~ Why goldfish are the best pets ~
|
||||
|
||||
- They are pretty.
|
||||
- They don't pee on the carpet.
|
||||
- They don't make any noise." >> essay_3.txt
|
||||
|
||||
echo "~ Why gldfsh r th bst pts ~
|
||||
|
||||
- Thy r prtty.
|
||||
- Thy dn't p n th crpt.
|
||||
- Thy dn't mk ny ns." >> essay_4.txt
|
||||
|
||||
[win]
|
||||
|
||||
test "$(cat *5.txt | wc -l )" -ge 7 && grep carpet *5.txt
|
35
levels/intro/restore
Normal file
35
levels/intro/restore
Normal file
|
@ -0,0 +1,35 @@
|
|||
[description]
|
||||
|
||||
You've been working on your essay for a while. But - ughh! Now your cat walks over your keyboard and "helps you", so now it's all messed up again! :/
|
||||
|
||||
To restore your essay from the last backup, type:
|
||||
|
||||
git restore essay.txt
|
||||
|
||||
To restore an older version, for example, from two backups before the latest one, type:
|
||||
|
||||
git restore -s HEAD~2 essay.txt
|
||||
|
||||
For nostalgic reasons, restore the very first backup you made!
|
||||
|
||||
[setup]
|
||||
|
||||
echo "A" >> essay.txt
|
||||
git add .
|
||||
git commit -m "Initial commit"
|
||||
|
||||
echo "B" >> essay.txt
|
||||
git commit -a -m "Improved version"
|
||||
|
||||
echo "C" >> essay.txt
|
||||
git commit -a -m "Even better version"
|
||||
|
||||
echo "D" >> essay.txt
|
||||
git commit -a -m "Marvelous version"
|
||||
|
||||
echo "blarg
|
||||
blaaaargh" > essay.txt
|
||||
|
||||
[win]
|
||||
|
||||
diff essay.txt <(echo "A")
|
31
levels/intro/setup
Normal file
31
levels/intro/setup
Normal file
|
@ -0,0 +1,31 @@
|
|||
[description]
|
||||
|
||||
One month later, you're woking on an essay about tardigrades!
|
||||
|
||||
This time, a friend has recommended that you use the version control system Git to keep backups of your file.
|
||||
|
||||
Currently, your directory only contains your essay. To initialize a Git repository in your directory, type:
|
||||
|
||||
git init
|
||||
|
||||
Then, each time you want to make a backup, type:
|
||||
|
||||
git add essay.txt
|
||||
git commit
|
||||
|
||||
Enter a description of what you changed in the editor that opens and click save.
|
||||
|
||||
That way, you've made a backup of the current version of the file. Then add at least two more lines, and make another backup by repeating the add and the commit commands.
|
||||
|
||||
[setup]
|
||||
|
||||
rm -rf .git
|
||||
|
||||
echo "~ Why tardigrades are cool ~
|
||||
|
||||
- They can survive in space.
|
||||
- They are resistant to extreme heat and cold." > essay.txt
|
||||
|
||||
[win]
|
||||
|
||||
test -d .git && git rev-parse HEAD^ && test "$(git show HEAD:essay.txt | wc -l)" -ge 6
|
Loading…
Add table
Add a link
Reference in a new issue