Thank you for your interest in contributing to our project! To ensure effective collaboration, please follow these guidelines:
Before you submit your issue search the archive, maybe your question was already answered or you may find some related content.
- Issue Overview: Check if a similar issue exists. Provide a clear description of the problem or feature request.
- Reproduce the Error: If reporting a bug, provide steps to reproduce it.
- Related Issues: Mention any related issues or pull requests.
- Suggest a Fix: If possible, propose a solution for the issue.
Before you submit your pull request, consider the following guidelines:
-
Search GitHub for an open or closed Pull Request that relates to your submission.
-
If you want to modify the project code structure, please start a discussion about it first
-
Make your changes in a new git branch
git checkout -b my-fix-branch main
-
Create your patch, including appropriate test cases, Note: if you aren't able to create tests, consider adding need tests label
-
Commit your changes using a descriptive commit message.
-
Push your branch to GitHub:
git push origin my-fix-branch
- In GitHub, send a pull request to
ISIL-ESTE/Student-Workflow-Organizer:main
. - if your pr includes multiple tasks and you're not done yet, consider creating a draft pull request with a task list to allow other members to track the issue's progress
- In GitHub, send a pull request to
-
If we suggest changes, then
-
Make the required updates.
-
Make sure the tests are still passing
-
Rebase your branch and force push to your GitHub repository (this will update your Pull Request):
git rebase main -i git push -f
-
That's it! Thank you for your contribution!
Sometimes your PR will have merge conflicts with the upstream repository's main branch. There are several ways to solve this but if not done correctly this can end up as a true nightmare. So here is one method that works quite well.
-
First, fetch the latest information from the main
git fetch upstream
-
Rebase your branch against the upstream/main
git rebase upstream/main
-
Git will stop rebasing at the first merge conflict and indicate which file is in conflict. Edit the file, resolve the conflict then
git add <the file that was in conflict> git rebase --continue
-
The rebase will continue up to the next conflict. Repeat the previous step until all files are merged and the rebase ends successfully.
-
Force push to your GitHub repository (this will update your Pull Request)
git push -f
After your pull request is merged, you can safely delete your branch and pull the changes from the main (upstream) repository:
-
Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows:
git push origin --delete my-fix-branch
-
Check out the main branch:
git checkout main -f
-
Delete the local branch:
git branch -D my-fix-branch
-
Update your main with the latest upstream version:
git pull --ff upstream main