Skip to content

Interacting with the Source Code

Race Williams edited this page Jan 17, 2024 · 1 revision

Cloning the Source Code

This walkthrough assumes that you have git installed. If you don't, see Dependencies.

git clone https://github.com/skrusenti/skru

When this succeeds, you'll have a copy of our remote repository (codebase) on your computer.

Making a Branch

When implementing a new feature or fixing a specific bug within our codebase, you'll want to do so in a dedicated branch. This ensures that the main branch remains stable as new features or fixes are being developed. Here's how you can do it:

git checkout -b <branch-name>

Replace <branch-name> with a descriptive name that represents the changes within it. If you're fixing a bug with the header clipping into other content, use header-clip-fix. If you're implementing the canvas draw logic, use canvas-draw-logic. Be descriptive and concise.

Making Local Changes

As you make changes to Skru locally, bundle your changes into commits. \ First, add the files you've changed to the staging area:

git add -A

Then, commit your changes to your local branch:

git commit -m "A brief description of the changes"

Pushing Changes to Remote

Now you've got your changes saved on locally, but maybe you need to send your changes to another person to help finish the issue, or maybe you're ready to merge your changes into the main codebase. Either way, you'll first need to push your local changes to our remote repository on Github:

git push origin <branch-name>

Creating a Pull Request

Once your changes are pushed, you can create a Pull Request on GitHub. Go to the repository page on GitHub, and you should see a prompt to create a pull request for your new branch. Click on it, fill in the details about your changes, and submit the PR. This is the point where your code will be reviewed by other team members before it gets merged into the main branch.

Merging the PR + Some Cleanup

After your PR is reviewed and approved, it can be merged into the main branch. Once merged, it's a good practice to delete the feature branch both locally and on the remote to keep the repository clean:

git branch -d <branch-name>      # Delete branch locally
git push origin --delete <branch-name>  # Delete branch on remote