Scenario
We want to create GitHub repo via the terminal.
Approach
Make sure you have github SSH keys setup so that you can authenticate and push without having to enter credentials.
When you run gh auth login
it will ask to use your SSH keys.
Install the Github CLI.
On MacOS you can use brew.
brew install gh
First you need to run gh auth login
to setup authentication.
After that is done perform the following steps on your commandline.
mkdir ghrepo && cd ghrepo && git init -b main
gh repo create ghrepo --public
You should get the following confirmation message like this one.
✓ Created repository fireflysemantics/ghrepo on GitHub
https://github.com/fireflysemantics/ghrepo
At this point you have a repository that looks just like the minimal vanilla one you would create on Github.com with the user interface.
If you visit the page you’ll see it has instructions like these for setting up the rest of the repository. The below would add a
echo "# ghrepo" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:fireflysemantics/ghrepo.git
git push -u origin main
So for example to add the README.md
do this.
echo "# ghrepo" >> README.md
git add README.md && git commit -m "chore: add README.md"
git remote add origin git@github.com:fireflysemantics/ghrepo.git
git push -u origin main
If you refresh the repo URL in your browser you’ll see that it has the README.md
file.
Since we are done with the repo we can now delete it.
gh repo delete ghrepo
Type fireflysemantics/ghrepo to confirm deletion: fireflysemantics/ghrepo
Note that it asks for confirmation.
If we now refresh the github page the we get a 404 page.