-
Notifications
You must be signed in to change notification settings - Fork 0
Step by Step Developement guide
- Git installed (>=2.x)
- Access to repo and correct remote
originwith push perms - Local
mainanddeveloptracking set up:git checkout main && git pull origin mainandgit checkout develop && git pull origin develop
-
Branch off
developgit checkout develop git pull origin develop git checkout -b feature/BRANCH
Branch Naming Conventions can be found here https://github.com/Exeter-Computer-Science-Society/hack-sw-2/wiki/Branching-Strategy
-
Work locally & commit often
- Small, focused commits.
- Write descriptive commit messages (see Commit Style below).
-
Keep your branch up-to-date (choose merge or rebase strategy; team policy should define this).
-
Rebase (keeps history linear):
git fetch origin git checkout feature/your-branch git rebase origin/develop # resolve conflicts, git rebase --continue git push --force-with-lease origin feature/your-branch -
Merge:
git fetch origin git checkout feature/your-branch git merge origin/develop # resolve conflicts, commit git push origin feature/your-branch
-
-
Open a Pull Request (PR) targeting
developonce work is ready.- Fill PR template, include screenshots, test steps, and link issue/ticket.
- Add reviewers and necessary labels.
-
Address review feedback and push changes to the same feature branch.
-
After approvals & passing CI — merge PR into
develop.- Use the team's merge strategy (Squash, Rebase & Merge, or Merge Commit).
- If required, delete the remote branch after merging.
-
Create a release branch from
developwhendevelopcontains the features for the next release.git checkout develop git pull origin develop git checkout -b release/1.2.0 git push -u origin release/1.2.0
-
Stabilize and test on
release/1.2.0: bump version numbers, finalize changelog, run full test suite. -
Fixes go into the
release/*branch and are tested. -
When ready, merge into
mainanddevelop# merge release into main git checkout main git pull origin main git merge --no-ff release/1.2.0 git tag -a v1.2.0 -m "Release 1.2.0" git push origin main --tags # merge release back into develop (to carry over any release-only commits) git checkout develop git pull origin develop git merge --no-ff release/1.2.0 git push origin develop # optionally delete release branch git branch -d release/1.2.0 git push origin --delete release/1.2.0
Use
--no-ffif you want an explicit merge commit for the release in history.
-
Branch from
maingit checkout main git pull origin main git checkout -b hotfix/1.2.1
-
Implement the fix, commit, push
-
Open PR targeting
main(and optionallydevelopdepending on process). -
Merge into
main, tag, and merge back intodevelopgit checkout main git merge --no-ff hotfix/1.2.1 git tag -a v1.2.1 -m "Hotfix 1.2.1" git push origin main --tags git checkout develop git merge --no-ff hotfix/1.2.1 git push origin develop
Title:
Changes:
Testing:
Closes:
Written by @the_cheesy_wiggle (Any questions reach out to @the_cheesy_wiggle or @inspizzz)