{"id":17941812,"url":"https://github.com/justintanner/ra-101","last_synced_at":"2026-04-18T11:03:10.324Z","repository":{"id":258895676,"uuid":"870973518","full_name":"justintanner/ra-101","owner":"justintanner","description":"Lesson 101 - Command Line Essentials","archived":false,"fork":false,"pushed_at":"2024-10-23T01:07:44.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-24T09:27:16.839Z","etag":null,"topics":["bash","git","github","ssh-key"],"latest_commit_sha":null,"homepage":"https://rails.academy","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/justintanner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-11T02:40:38.000Z","updated_at":"2024-10-23T01:07:47.000Z","dependencies_parsed_at":"2024-10-28T05:28:18.266Z","dependency_job_id":"bf0f32ce-a3be-45f5-bc3a-8f229f362f8a","html_url":"https://github.com/justintanner/ra-101","commit_stats":null,"previous_names":["justintanner/ra-101"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/justintanner/ra-101","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justintanner%2Fra-101","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justintanner%2Fra-101/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justintanner%2Fra-101/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justintanner%2Fra-101/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/justintanner","download_url":"https://codeload.github.com/justintanner/ra-101/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justintanner%2Fra-101/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273032873,"owners_count":25034067,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","git","github","ssh-key"],"created_at":"2024-10-29T02:04:18.101Z","updated_at":"2026-04-18T11:03:05.281Z","avatar_url":"https://github.com/justintanner.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"## Rails Academy: Lesson 101 - Command Line Essentials\n\nThis lesson covers the basic command line tricks we'll need to do lessons on Rails Academy.\n\nIf you don't understand all the commands, don't worry! We'll be using them a lot in the future, so you'll get plenty of practice.\n\n### Topics\n\n- Bash \n- GitHub\n- SSH Keys\n- GitHub CLI (gh)\n\n### Prerequisites\n\n[Install Rails Academy](http://rails.academy)\n\n### 1. Sign Up for GitHub\n\nVisit [GitHub](https://github.com) and create a **free** account or log in if you already have one.\n\n### 2. Generate a local SSH Key\n\nOpen Alacritty and run the following command:\n\n```bash\nssh-keygen -t ed25519\n```\n\n- Press Enter multiple times to accept to all the defaults\n- Do *not enter* a passphrase when prompted\n\n### 3. Copy your SSH Key\n\n#### macOS\n\n```bash\npbcopy \u003c ~/.ssh/id_ed25519.pub\n```\n\n#### Ubuntu and Windows\n\n```bash\ncat ~/.ssh/id_ed25519.pub\n```\n\nCopy the text that is outputted.\n\n### 4. Add your SSH Key to GitHub\n\n- In GitHub, navigate to Settings \u003e SSH and GPG keys \u003e New SSH Key\n- Paste your public key into the “Key” field\n- Select a title for the key like \"Rails Academy Key\"\n- Click \"Add SSH Key\"\n\n### 5. Test that GitHub is connected\n\n```bash\nssh -T git@github.com\n```\n\nExpected output:\n\n```bash\nHi yourgithubusername! You've successfully authenticated, but GitHub does not provide shell access.\n```\n\n### 6. Create a Branch\n\nFirst, let's make sure we are in the right folder.\n\n```bash\ncd ~/lessons/ra-101\n```\n\nThen we'll need to:\n\n- Visit [Skool](https://skool.com) and copy your “Skool ID” from your profile\n- Create a branch with your Skool username with the command below:\n\n```bash\ngit branch @my-skool-username\ngit checkout @my-skool-username\n```\n\nYour terminal prompt should now show:\n\n```bash\n~/lessons/ra-101 [@my-skool-username]\n$ _\n```\n\nThis means git is currently on the `@skool-username` branch.\n\n### 7. Add a File to Git\n\n```bash\necho \"@my-skool-username\" \u003e skool.txt\ngit add skool.txt\ngit commit -m \"Added skool.txt with my Skool ID\"\n```\n\nLets double check the log, to make sure the commit was successful:\n\n```bash\ngit log\n```\n\nYour should see something like:\n\n```bash\ncommit 1234567890abcdef1234567890abcdef12345678 (HEAD -\u003e @my-skool-username)\nAuthor: yourgithubusername \u003cyourgithubemail\u003e\nDate:   Mon Jan 1 00:00:00 2021 -0500\n\n    Added skool.txt with my Skool ID\n```\n\n### 8. Create a Pull Request\n\n- Authenticate with GitHub CLI:\n\n```bash\ngh auth login\n```\n\n* Select GitHub.com \u003e HTTPS \u003e Login with web browser.\n* Create the PR:\n\n```bash\ngh pr create\n```\n\n* Press Enter multiple times to accept the defaults\n* Select Submit\n* You should get a link to your PR, it should look like this:\n\n```bash\nhttps://github.com/yourusername/ra-101/pull/1\n```\n\n* Visit your PR on Github.\n\nThe automatic check will run if your code passes, you'll see:\n\n:white_check_mark: All checks have passed\n\n### :tada: You're Done! :tada:\n\n#### Next Lesson\n\nOnce accepted its time to move onto the [next lesson](https://github.com/justintanner/ra-102). \n\n#### Additional Resources\n\n- :tv: [How to clone, push, and pull with git](https://www.youtube.com/watch?v=yxvqLBHZfXk)\n- :tv: [Bash in 100 Seconds](https://www.youtube.com/watch?v=I4EWvMFj37g)\n- :tv: [Git Explained in 100 Seconds](https://www.youtube.com/watch?v=hwP7WQkmECE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustintanner%2Fra-101","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjustintanner%2Fra-101","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustintanner%2Fra-101/lists"}