From 5e68451a43b11a8ea720c481c28d3bd22002388a Mon Sep 17 00:00:00 2001 From: blinry Date: Thu, 18 Feb 2021 17:29:48 +0100 Subject: [PATCH] Simplify first remote level --- levels/intro/remote | 27 ++-- resources/cards.json | 360 +++++++++++++++++++++---------------------- 2 files changed, 191 insertions(+), 196 deletions(-) diff --git a/levels/intro/remote b/levels/intro/remote index a493fba..be5e376 100644 --- a/levels/intro/remote +++ b/levels/intro/remote @@ -1,21 +1,15 @@ title = Working together -cards = clone commit-auto pull push +cards = pull commit-auto push [description] -Let's add your name to our list of students! I already have this list my time machine - let's work together! +Let's add your name to our list of students! -Drag the "clone" card to my name to make your own copy of my timeline! +I already have a second commit of it in my time machine - let's work together! [cli] -To clone the teacher's repo via the command line, you need this command: - - git clone ../teacher . - -(Don't forget the dot at the end!) - -To go through old commands, you can press arrow up and down. That way, you don't have to type in long commands twice. +To go back to old commands, you can press arrow up and down. That way, you don't have to type in long commands twice. [congrats] @@ -23,13 +17,14 @@ Welcome to time travel school! :) I'll see you for your first class tomorrow! [setup] -rm -rf .git - -[setup teacher] - echo "~ List of current students ~" > students git add . git commit -m "Initial version" +git push -u teacher main + +[setup teacher] + +git reset --hard main echo " - Sam @@ -40,8 +35,8 @@ git commit -m "Added two students" [win] -# Get a copy of your teacher's timeline using `git clone`! -test -d .git +# Get the second commit from your teacher using `git pull`. +test "$(git log --oneline teacher/main | wc -l)" -ge 2 # Add your name to the list of students test "$(cat students |wc -l)" -ge 5 diff --git a/resources/cards.json b/resources/cards.json index ea15944..84d846e 100644 --- a/resources/cards.json +++ b/resources/cards.json @@ -1,182 +1,182 @@ [ - { - "id": "init", - "command": "git init", - "description": "Drag this card into the empty space above to initialize the time machine!" - }, - { - "id": "clone", - "command": "git clone ../[remote] .", - "description": "Create your own copy of your friend's repo." - }, - { - "id": "config-name", - "command": "git config --global user.name [string]", - "description": "Set your name.\n\n(Will not change anything outside of this game.)" - }, - { - "id": "config-email", - "command": "git config --global user.email [string]", - "description": "Set your email address." - }, - { - "id": "checkout", - "command": "git checkout [commit, ref]", - "description": "Drag this card to a commit or to a branch to travel to it!" - }, - { - "id": "checkout-file", - "command": "git checkout [file]", - "description": "Reset changes in a local file." - }, - { - "id": "checkout-from", - "command": "git checkout [commit, ref] [file]", - "description": "Get the file contents from the specified commits, and reset both the working directory, as well as the index, to it." - }, - { - "id": "commit-a", - "command": "git commit -a", - "description": "Make a new commit, after automatically adding all changes to the index.\nYou'll be asked to enter a short description of what you changed." - }, - { - "id": "commit-auto", - "command": "git add .; git commit -m \"New commit\"", - "description": "Make a new commit containing your current environment!" - }, - { - "id": "merge", - "command": "git merge [commit, ref]", - "description": "Merge the specified timeline into yours. If necessary, will create a merge commit." - }, - { - "id": "merge-abort", - "command": "git merge --abort", - "description": "Abort the current merge attempt, and reconstruct the previous state." - }, - { - "id": "rebase", - "command": "git rebase [commit]", - "description": "Put the events in your current timeline on top of the specified one." - }, - { - "id": "pull", - "command": "git pull", - "description": "Get a friend's version of the current timeline, and try to merge it into yours." - }, - { - "id": "fetch", - "command": "git fetch [remote]", - "description": "Get a friend's version of the current timeline." - }, - { - "id": "push", - "command": "git push", - "description": "Give the current timeline to a friend." - }, - { - "id": "rebase-interactive", - "command": "git rebase -i [commit]", - "description": "Make changes to the events in your current timeline, back to the commit you drag this to." - }, - { - "id": "rebase-continue", - "command": "git rebase --continue", - "description": "Continue the current rebasing process." - }, - { - "id": "reset-hard", - "command": "git reset --hard [commit]", - "description": "Move the branch you're on to the specified commit." - }, - { - "id": "reset", - "command": "git reset [commit]", - "description": "Jump to the commit, and update the index. Keep the current environment." - }, - { - "id": "reset-file", - "command": "git reset [file]", - "description": "Reset the index version of a file to the version in the commit you're on." - }, - { - "id": "cherry-pick", - "command": "git cherry-pick [commit]", - "description": "Repeat the specified action on top of your current timeline." - }, - { - "id": "revert", - "command": "git revert [commit]", - "description": "Make a new commit that reverts the changes of the speicified commit." - }, - { - "id": "bisect-start", - "command": "git bisect start", - "description": "Start looking for the commit where things got bad." - }, - { - "id": "bisect-good", - "command": "git bisect good", - "description": "State that the current commit is good! When you're automatically transferred, keep playing the `good` and `bad` cards!" - }, - { - "id": "bisect-bad", - "command": "git bisect bad", - "description": "State that the current commit is bad! When you're automatically transferred, keep playing the `good` and `bad` cards!" - }, - { - "id": "add", - "command": "git add [file]", - "description": "Update the index version of the file to its current real content." - }, - { - "id": "rm", - "command": "git rm [file]", - "description": "Delete a file both in the working directory, as well as the index." - }, - { - "id": "commit", - "command": "git commit", - "description": "Make a commit from the current index." - }, - { - "id": "show", - "command": "git show [commit]", - "description": "Show what changed in the commit." - }, - { - "id": "branch", - "command": "git branch [string]", - "description": "Create a new branch at your current location." - }, - { - "id": "branch-delete", - "command": "git branch -D [ref]", - "description": "Delete a branch." - }, - { - "id": "reflog", - "command": "git reflog [ref, head]", - "description": "Display a log of there the ref pointed to in the past." - }, - { - "id": "file-new", - "command": "touch [string]", - "description": "Create a new file." - }, - { - "id": "file-delete", - "command": "rm [file]", - "description": "Delete a file." - }, - { - "id": "file-rename", - "command": "mv [file] [string]", - "description": "Rename a file." - }, - { - "id": "file-copy", - "command": "cp [file] [string]", - "description": "Make a copy of a file." - } + { + "id": "init", + "command": "git init", + "description": "Drag this card into the empty space above to initialize the time machine!" + }, + { + "id": "clone", + "command": "git clone ../[remote] .", + "description": "Create your own copy of someone else's repo." + }, + { + "id": "config-name", + "command": "git config --global user.name [string]", + "description": "Set your name.\n\n(Will not change anything outside of this game.)" + }, + { + "id": "config-email", + "command": "git config --global user.email [string]", + "description": "Set your email address." + }, + { + "id": "checkout", + "command": "git checkout [commit, ref]", + "description": "Drag this card to a commit or to a branch to travel to it!" + }, + { + "id": "checkout-file", + "command": "git checkout [file]", + "description": "Reset changes in a local file." + }, + { + "id": "checkout-from", + "command": "git checkout [commit, ref] [file]", + "description": "Get the file contents from the specified commits, and reset both the working directory, as well as the index, to it." + }, + { + "id": "commit-a", + "command": "git commit -a", + "description": "Make a new commit, after automatically adding all changes to the index.\nYou'll be asked to enter a short description of what you changed." + }, + { + "id": "commit-auto", + "command": "git add .; git commit -m \"New commit\"", + "description": "Make a new commit containing your current environment!" + }, + { + "id": "merge", + "command": "git merge [commit, ref]", + "description": "Merge the specified timeline into yours. If necessary, will create a merge commit." + }, + { + "id": "merge-abort", + "command": "git merge --abort", + "description": "Abort the current merge attempt, and reconstruct the previous state." + }, + { + "id": "rebase", + "command": "git rebase [commit]", + "description": "Put the events in your current timeline on top of the specified one." + }, + { + "id": "pull", + "command": "git pull", + "description": "Get someone else's version of the current timeline, and try to merge it into yours." + }, + { + "id": "fetch", + "command": "git fetch [remote]", + "description": "Get a someone else's version of the current timeline." + }, + { + "id": "push", + "command": "git push", + "description": "Give the current timeline to someone else." + }, + { + "id": "rebase-interactive", + "command": "git rebase -i [commit]", + "description": "Make changes to the events in your current timeline, back to the commit you drag this to." + }, + { + "id": "rebase-continue", + "command": "git rebase --continue", + "description": "Continue the current rebasing process." + }, + { + "id": "reset-hard", + "command": "git reset --hard [commit]", + "description": "Move the branch you're on to the specified commit." + }, + { + "id": "reset", + "command": "git reset [commit]", + "description": "Jump to the commit, and update the index. Keep the current environment." + }, + { + "id": "reset-file", + "command": "git reset [file]", + "description": "Reset the index version of a file to the version in the commit you're on." + }, + { + "id": "cherry-pick", + "command": "git cherry-pick [commit]", + "description": "Repeat the specified action on top of your current timeline." + }, + { + "id": "revert", + "command": "git revert [commit]", + "description": "Make a new commit that reverts the changes of the speicified commit." + }, + { + "id": "bisect-start", + "command": "git bisect start", + "description": "Start looking for the commit where things got bad." + }, + { + "id": "bisect-good", + "command": "git bisect good", + "description": "State that the current commit is good! When you're automatically transferred, keep playing the `good` and `bad` cards!" + }, + { + "id": "bisect-bad", + "command": "git bisect bad", + "description": "State that the current commit is bad! When you're automatically transferred, keep playing the `good` and `bad` cards!" + }, + { + "id": "add", + "command": "git add [file]", + "description": "Update the index version of the file to its current real content." + }, + { + "id": "rm", + "command": "git rm [file]", + "description": "Delete a file both in the working directory, as well as the index." + }, + { + "id": "commit", + "command": "git commit", + "description": "Make a commit from the current index." + }, + { + "id": "show", + "command": "git show [commit]", + "description": "Show what changed in the commit." + }, + { + "id": "branch", + "command": "git branch [string]", + "description": "Create a new branch at your current location." + }, + { + "id": "branch-delete", + "command": "git branch -D [ref]", + "description": "Delete a branch." + }, + { + "id": "reflog", + "command": "git reflog [ref, head]", + "description": "Display a log of there the ref pointed to in the past." + }, + { + "id": "file-new", + "command": "touch [string]", + "description": "Create a new file." + }, + { + "id": "file-delete", + "command": "rm [file]", + "description": "Delete a file." + }, + { + "id": "file-rename", + "command": "mv [file] [string]", + "description": "Rename a file." + }, + { + "id": "file-copy", + "command": "cp [file] [string]", + "description": "Make a copy of a file." + } ]