GitHub
Authors: Daniel Cui, Ryan KimWhat is GitHub?
GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere.
You should start with this tutorial and make sure you understand every part of the Quickstart section from Hello World through Contributing to projects.
Key Features
You can clone repositories on GitHub to a local copy, which you can mess around with.
To contribute to a project without direct access, you can fork the repository, creating your own repo on GitHub where you can make direct commits to. Then you can open a pull request to the original repo, requesting the authors to merge your changes.
There are also many, exciting coding projects with discussions and documentation on GitHub! You can check them out on the explore page.
GitHub has many other features like GitHub Pages, issue tracking, GitHub Actions, and more! Here are the docs.
Extra Notes
HTTPS vs. SSH
I suggest using https
over ssh
with GitHub because while an ssh connection is
technically more secure, it may be blocked by firewalls or proxies. With https
, your GitHub
credentials will typically be stored on a credential manager on your machine, and there
won’t much of a fuss. Unless you are sending incredibly sensitive data to GitHub,
https
is works well.
Verifying Commits
To give people confidence about the origin of a change made on a repository,
you can sign your commits with a special signature through
gpg
or ssh
.
GitHub’s guide on commit signature verification is
here.
I suggest
gpg signing
with https
, and if you are already using ssh
for pushing/pulling to GitHub,
ssh signing
works. Make sure that you
add the key to your GitHub account
and that
git knows about the signing key.
Even though the process can be a little complex, having reassurance of security is nice, and generating these cryptographical keys is pretty cool, too. All this is pretty optional though. 😜