blob: 00f06ec77259591e3754d0e98e2250d537b2464b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# Workflow
## Commits
### Make small and focused commits
- Please avoid mixing unrelated changes in a single commit
- Commit at regular points to revert changes easily if needed
### Write clear commit messages
- Limit subject line to 50 characters
- Provide more detailed explainations in the commit body (if required)
- Use the imperative mood in the subject line (e.g. 'add' instead of 'added')
```
$ ~ git commit
```
```
[Type]: [Short Subject]
---[Blank Line]---
[Body, Limit to 72 Characters]
```
- Types: feat, fix, docs, style, refactor, test, chore, ci, perf
- See [here](https://eagerworks.com/blog/conventional-commits) for more information
## Branches
### Naming Conventions
- Use lowercase with hyphens
- Include type and change with small description
```
[type]/[brief-description] :: e.g. feature/api
```
### Base Branch
- Branch from `develop` for features and non-urgent fixes
- Branch off from `main` for urgent changes (project deadline) - this should be rarely used
### Keep branches updated
- Regularly merge and also delete branches when stale
## PRs
1. Create a pull request for each feature or fix (link to related issues)
2. Write a clear description which...
1. Summarises the changes
2. Explains the reasoning behind the changes
3. Lists any areas of concerns (i.e. breaking changes)
3. Keep PRs focused - split changes into multiple PRs if needed
4. Assign someone to review
5. Merge ONLY after team approval - resolve conflicts & ensure CI checks pass
6. Use [squash and merge](https://learn.microsoft.com/en-us/azure/devops/repos/git/merging-with-squash?view=azure-devops) when needed to keep main branch history clean
|