-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathcontributing.qmd
120 lines (89 loc) · 2.76 KB
/
contributing.qmd
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# Contributing
QA catalogue is developed in a git repository at <https://github.com/pkiraly/qa-catalogue>. Bug reports and feature requests are managed in [the corresponding issue tracker](https://github.com/pkiraly/qa-catalogue/issues).
Contribution is welcome at:
- discussion of features in the issue tracker or mailing list
- [documentation](#documentation)
- [source code](#source-code)
## Documentation
The documentation is build with quarto. It is published at <https://pkiraly.github.io/qa-catalogue/> with every change on the `main` branch and on the `docs` branch.
## Source code
We try to follow this git workflow:
### 1st scenario: preparing the first pull request
clone QA catalogue at https://github.com/pkiraly/qa-catalogue.git then
```
git clone https://github.com/YOUR_NAME/qa-catalogue.git qa-catalogue
cd qa-catalogue
```
create a new branch locally for the pull request (the name should reflect the ticket ID and title)
```
git checkout -b 123-COOL-FEATURE
```
working on the branch ... then commit changes
```
git commit -am "issue #123: explanation of changes"
```
upload the new branch to https://github.com/YOUR_NAME/qa-catalogue
```
git push -u origin 123-COOL-FEATURE
```
... then create pull request at github.com/YOUR_NAME/qa-catalogue
### 2nd scenario: preparing another pull request some month later
register the main QA catalogue repo
```
git remote add upstream https://github.com/pkiraly/qa-catalogue.git
git checkout main
```
update local develop branch from https://github.com/pkiraly/qa-catalogue
```
git fetch upstream main
git rebase upstream/main
```
update remote develop branch at https://github.com/YOUR_NAME/qa-catalogue
```
git push
```
create a new branch locally for the pull request
```
git checkout -b 123-COOL-FEATURE
```
work on the branch and commit changes
```
git commit -am "#123 explanation of changes"
```
upload the new branch to https://github.com/YOUR_NAME/qa-catalogue
```
git push -u origin 123-COOL-FEATURE
```
... then create pull request at github.com/YOUR_NAME/qa-catalogue
### 3rd scenario: synchronize your branch with main branch
```
git checkout main
```
update local develop branch from https://github.com/pkiraly/qa-catalogue
```
git fetch upstream main
git rebase upstream/main
```
update remote develop branch at https://github.com/YOUR_NAME/qa-catalogue
```
git push
```
change to the already existing feature branch
```
git checkout 123-COOL-FEATURE
```
merge changes of develop to the feature branch
```
git merge main
```
check if there are conflicts, if there are follow the next command, otherwise skip to next block
1. fix the relevant files (including testing)
2. commit changes
```
git add <fixed files>
git commit
```
update remote feature branch at https://github.com/YOUR_NAME/qa-catalogue
```
git push
```