| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | 
							- .. _create commit:
 
- ===============================
 
- Git Commits & Change Management
 
- ===============================
 
- .. sidebar:: Create good commits!
 
-    - `Conventional Commits`_
 
-    - `Structural split of changes`_
 
-    - `Git Commit Good Practice`_
 
- A commit and its commit message are among the most important information
 
- available to a developer for bug fixing and further development.  A commit is a
 
- change and changes have a context (a change request).
 
- In a SCM system (git), the change history is derived from the commit history. A
 
- commit message is therefore part of the documentation for change management and
 
- thus elementary for the traceability of changes.
 
- **What a commit is not**: *A commit to an SCM system is not used to save files!*
 
- A commit should always have a context and the commit message describes what is
 
- to be changed in that context, just as a function description should describe
 
- what the intention and the goal of the function is, a commit message should
 
- describe what the intention and the goal of that commit is.
 
- The commit messages form the history and are the first and therefore most
 
- important information a developer has when he has to research when and why a
 
- change had to be made and how it was made (what the goal was).
 
- Like any text, a commit message should be written for the reader and not from
 
- the perspective of the author.
 
- When scrolling through the history, the first thing one see is the title of the
 
- commit message. Therefore the title should describe the change as briefly and
 
- precisely as possible ... followed by a blank line and then a somewhat detailed
 
- description of the change.
 
- ----
 
- The follwing rules should be in mind, when creating a commit:
 
- - **Commit history should be read like a history book.**
 
- - **Commit messages are for the reader not for the author of the commit.**
 
- - **A commit is the atomic code-modification of a change in change management.**
 
- - **Think about which descriptions from your PR might belong in the commit message.**
 
- - **The maximum line length in a commit message is 80 characters.**
 
- ----
 
- Choose meaningful commit messages:
 
-   .. code::
 
-      [type] optional scope: description
 
-      [body]
 
-      [optional trailers]
 
- ``[type]``:
 
-   Commits MUST be prefixed with a type .. ``feat``, ``fix``, ``refactor``,
 
-   ``mod``, ``upd``, ``doc``, ``l10n``, ``build`` ..
 
- ``[body]``
 
-   `Information in commit messages`_
 
- ``[optional trailers]``:
 
-   - `Signed-off-by`_: certify that the committer has the rights to submit the
 
-     work under the project’s license.  That the developer has this right is a
 
-     prerequisite for a merge.  If the `Signed-off-by`_ is not set in the
 
-     commit, the contributor enters his `Developer's Certificate of Origin` at
 
-     the latest when creating a PR!
 
-   - Closes: Link to the bug report or the bug number (e.g. ``Closes: #10``)
 
-   - `Co-authored-by`_: email address of the co-author
 
-   - Reported-by: email address (if there is no bug report)
 
-   - Suggested-by: email address (if there is no bug report)
 
- ----
 
- To give examples at hand, here are a few commits.  Follow the links to see the
 
- full commit messages:
 
- :patch:`44d941c93`
 
-   ``[fix] mojeek web engine: don't add empty fmt argument for web searches``
 
- :patch:`feb15e387`
 
-    ``[fix] brave.news engine: response is HTML and no longer JSON``
 
- :patch:`bdfe1c2a1`
 
-    ``[mod] engines: migration of the individual cache solutions to EngineCache``
 
- .. _Conventional Commits:
 
-     https://www.conventionalcommits.org/
 
- .. _Structural split of changes:
 
-     https://wiki.openstack.org/wiki/GitCommitMessages#Structural_split_of_changes
 
- .. _Git Commit Good Practice:
 
-     https://wiki.openstack.org/wiki/GitCommitMessages
 
- .. _Information in commit messages:
 
-     https://wiki.openstack.org/wiki/GitCommitMessages#Information_in_commit_messages
 
- .. _`Developer's Certificate of Origin`:
 
-     https://developercertificate.org/
 
- .. _Signed-off-by:
 
-     https://git-scm.com/docs/git-commit#Documentation/git-commit.txt-code--signoffcode
 
- .. _Co-authored-by:
 
-     https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors
 
 
  |