Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
We use a pattern known as Github Flow. Click that link to learn more.
One-time set up:
- Ask the Chair of ACM Web to add you to the [sigdotcom organization][sigdotcom-organization]
- Clone the mstacm.org repository
git clone https://github.com/sigdotcom/mstacm.org.git
Every feature:
-
Update your local master branch
git switch master # "git checkout master" if git < 2.23 git pull master
-
Create your branch
git switch -c feature/<feature-name>
where
<feature-name>
is replaced with a short description of your feature (ex.admin-permission-tool
for a feature adding a new tool to admin-web)Name your commits with
feature/
orhotfix/
at the beginning depending on the content of the branch. (ex.feature/new-icons
,hotfix/icon-render-glitch
) -
Add and commit your Changes
git add file1 file2 ... # only add relevant files git commit -m 'Add some great specific and well described features' # After the "-m" goes the commit message
Read this article about good commit messages to maintain good quality commits
-
Push to the remote branch
git push origin feature/<feature-name>
-
Grab a new issue to work on and start from the top!
-
Fork the mstacm.org repository
-
Create your branch
git switch -c feature/<feature-name>
where is replaced with a short description of your feature (ex. admin-permission-tool for a feature adding a new tool to admin-web)
Name your commits with
feature/
orhotfix/
at the beginning depending on the content of the branch. (ex.feature/new-icons
,hotfix/icon-render-glitch
) -
Add and commit your Changes
git add file1 file2 ... # only add relevant files git commit -m 'Add some great specific and well described features' # After the "-m" goes the commit message
Read this article about good commit messages to maintain good quality commits
-
Push to the remote branch
git push origin feature/<feature-name>
-
Grab a new issue to work on and start from the top!
We use ESLint and Prettier to format and style all of our code, please get those installed and configured in your preffered editor while working on code!
Before you merge your changes, and also after big changes go into the main branch, you will want to get up to date with main. To do this, we use a technique called rebasing. This is better explained here so please read up.
When you want to get up to date, commit all of your changes, then use this command:
git pull --rebase origin master
which will pull any changes from the origin, and then rebase your changes on top of master. This starts a rebase, so complete the rebase by using the knowledge gained from the link above.