34 lines
3.1 KiB
Markdown
34 lines
3.1 KiB
Markdown
# Club Challenges
|
|
## Introduction
|
|
**Welcome to Salt Lake Community College's Programming Club Challenges!**
|
|
These challenges are designed for programmers of all skill levels. Each challenge has a "core" problem that should be accessible to all.
|
|
Each challenge has progressively more difficult "bonus challenges" to test your programming knowledge.
|
|
|
|
## Getting Started with Basic Git Commands
|
|
Open Windows Powershell or the terminal
|
|
`git clone https://github.com/quaxlyqueen/club-challenges` ~ Makes a local copy of the repository on your machine.
|
|
`git pull` ~ Retrieves the most recent changes from the "remote" repository (GitHub).
|
|
`git branch NAME` ~ Creates a new branch called NAME. Substitute this with the changes you're making.
|
|
`git checkout NAME` ~ Changes your current branch to NAME. The default branch is `main`.
|
|
`git stage -A` ~ Prepares all of the changes in your local repository for a commit.
|
|
`git commit -m "A message"` ~ Saves a snapshot of your local repository to your machine. You can revert back to this at anytime.
|
|
`git push` ~ Uploads your changes onto the remote repository (GitHub).
|
|
|
|
While this may seem complex, for future club challenges you'd simply need to type in the terminal `git pull` to get the next challenge.
|
|
|
|
## Running Java code from the terminal
|
|
`javac File.java` ~ Compiles your `.java` file into an executable `.class` file
|
|
`java File` ~ Executes your `.class` file
|
|
|
|
## Shameless plug
|
|
If you're interested in automating terminal commands, check out my scripts repo at <a href="https://github.com/quaxlyqueen/scripts">quaxlyqueen/scripts</a>.
|
|
|
|
## FAQ
|
|
**What is Git?**<br />Git is an industry-standard **V**ersion **C**ontrol **S**ystem (VCS), that allows multiple programmers to work on projects together asynchronously.
|
|
Git is a powerful **C**ommand **L**ine **I**nterface (CLI) tool, and GitHub is a way to visually interact with repositories.
|
|
<br /><br />
|
|
**What is a repository?**<br />A repository, or "repo", is a shareable project directory. There are two main types of repositories: remote and local.
|
|
A remote repository is a directory hosted on a server, such as GitHub. Whenever you clone a repository onto your machine, you have a local repository.
|
|
Think of this as a Google Docs for programmers, except instead of your changes being shared automatically, it is whenever **you** decide your changes
|
|
are ready to be shared.
|