Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita832259

Browse files
committed
docs: announce and document guidelines for using Conventional Commits
1 parent880d38e commita832259

File tree

2 files changed

+102
-49
lines changed

2 files changed

+102
-49
lines changed

‎CONTRIBUTING.md

Lines changed: 74 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
-[Output processing](#output-processing)
1919
-[Coding standards](#coding-standards)
2020
-[Commit message guidelines](#commit-message-guidelines)
21+
-[What does this mean for contributors?](#what-does-this-mean-for-contributors)
22+
-[What to know about Conventional Commits](#what-to-know-about-conventional-commits)
2123
-[Unit tests](#unit-tests)
2224
-[Continuous integration](#continuous-integration)
2325
-[Documentation](#documentation)
@@ -63,7 +65,8 @@ thoroughly as possible to describe the issue or feature request.
6365
There is a three-step process for submitting code or documentation changes:
6466

6567
1.[Commit your changes to a fork of
66-
`ruby-git`](#commit-your-changes-to-a-fork-of-ruby-git)
68+
`ruby-git`](#commit-your-changes-to-a-fork-of-ruby-git) using[Conventional
69+
Commits](#commit-message-guidelines)
6770
2.[Create a pull request](#create-a-pull-request)
6871
3.[Get your pull request reviewed](#get-your-pull-request-reviewed)
6972

@@ -155,23 +158,81 @@ requirements:
155158

156159
###Commit message guidelines
157160

158-
All commit messages must follow the[Conventional Commits
159-
standard](https://www.conventionalcommits.org/en/v1.0.0/). This helps us maintain a
160-
clear and structured commit history, automate versioning, and generate changelogs
161-
effectively.
161+
To enhance our development workflow, enable automated changelog generation, and pave
162+
the way for Continuous Delivery, the`ruby-git` project has adopted the[Conventional
163+
Commits standard](https://www.conventionalcommits.org/en/v1.0.0/) for all commit
164+
messages.
162165

163-
To ensure compliance, this project includes:
166+
This structured approach to commit messages allows us to:
164167

165-
- A git commit-msg hook that validates your commit messages before they are accepted.
168+
-**Automate versioning and releases:** Tools can now automatically determine the
169+
semantic version bump (patch, minor, major) based on the types of commits merged.
170+
-**Generate accurate changelogs:** We can automatically create and update a
171+
`CHANGELOG.md` file, providing a clear history of changes for users and
172+
contributors.
173+
-**Improve commit history readability:** A standardized format makes it easier for
174+
everyone to understand the nature of changes at a glance.
166175

167-
To activate the hook, you must have node installed and run`bin/setup` or
168-
`npm install`.
176+
####What does this mean for contributors?
169177

170-
- A GitHub Actions workflow that will enforce the Conventional Commit standard as
171-
part of the continuous integration pipeline.
178+
Going forward, all commits to this repository**MUST** adhere to the[Conventional
179+
Commits standard](https://www.conventionalcommits.org/en/v1.0.0/). Commits not
180+
adhering to this standard will cause the CI build to fail. PRs will not be merged if
181+
they include non-conventional commits.
172182

173-
Any commit message that does not conform to the Conventional Commits standard will
174-
cause the workflow to fail and not allow the PR to be merged.
183+
A git pre-commit hook may be installed to validate your conventional commit messages
184+
before pushing them to GitHub by running`bin/setup` in the project root.
185+
186+
####What to know about Conventional Commits
187+
188+
The simplist conventional commit is in the form`type: description` where`type`
189+
indicates the type of change and`description` is your usual commit message (with
190+
some limitations).
191+
192+
- Types include:`feat`,`fix`,`docs`,`test`,`refactor`, and`chore`. See the full
193+
list of types supported in[.commitlintrc.yml](.commitlintrc.yml).
194+
- The description must (1) not start with an upper case letter, (2) be no more than
195+
100 characters, and (3) not end with punctuation.
196+
197+
Examples of valid commits:
198+
199+
-`feat: add the --merges option to Git::Lib.log`
200+
-`fix: exception thrown by Git::Lib.log when repo has no commits`
201+
-`docs: add conventional commit announcement to README.md`
202+
203+
Commits that include breaking changes must include an exclaimation mark before the
204+
colon:
205+
206+
-`feat!: removed Git::Base.commit_force`
207+
208+
The commit messages will drive how the version is incremented for each release:
209+
210+
- a release containing a**breaking change** will do a**major** version increment
211+
- a release containing a**new feature** will do a**minor** increment
212+
- a release containing**neither a breaking change nor a new feature** will do a
213+
**patch** version increment
214+
215+
The full conventional commit format is:
216+
217+
```text
218+
<type>[optional scope][!]: <description>
219+
220+
[optional body]
221+
222+
[optional footer(s)]
223+
```
224+
225+
-`optional body` may include multiple lines of descriptive text limited to 100 chars
226+
each
227+
-`optional footers` only uses`BREAKING CHANGE: <description>` where description
228+
should describe the nature of the backward incompatibility.
229+
230+
Use of the`BREAKING CHANGE:` footer flags a backward incompatible change even if it
231+
is not flagged with an exclaimation mark after the`type`. Other footers are allowed
232+
by not acted upon.
233+
234+
See[the Conventional Commits
235+
specification](https://www.conventionalcommits.org/en/v1.0.0/) for more details.
175236

176237
###Unit tests
177238

‎README.md

Lines changed: 28 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,34 @@
99
[![Documentation](https://img.shields.io/badge/Documentation-Latest-green)](https://rubydoc.info/gems/git/)
1010
[![Change Log](https://img.shields.io/badge/CHANGELOG-Latest-green)](https://rubydoc.info/gems/git/file/CHANGELOG.md)
1111
[![Build Status](https://github.com/ruby-git/ruby-git/workflows/CI/badge.svg?branch=master)](https://github.com/ruby-git/ruby-git/actions?query=workflow%3ACI)
12-
[![Code Climate](https://codeclimate.com/github/ruby-git/ruby-git.png)](https://codeclimate.com/github/ruby-git/ruby-git)
13-
14-
*[Summary](#summary)
15-
*[v2.x Release](#v2x-release)
16-
*[Install](#install)
17-
*[Major Objects](#major-objects)
18-
*[Errors Raised By This Gem](#errors-raised-by-this-gem)
19-
*[Specifying And Handling Timeouts](#specifying-and-handling-timeouts)
20-
*[Examples](#examples)
21-
*[Ruby version support policy](#ruby-version-support-policy)
22-
*[License](#license)
12+
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white)](https://conventionalcommits.org)
13+
14+
-[📢 We've Switched to Conventional Commits 📢](#-weve-switched-to-conventional-commits-)
15+
-[Summary](#summary)
16+
-[Install](#install)
17+
-[Major Objects](#major-objects)
18+
-[Errors Raised By This Gem](#errors-raised-by-this-gem)
19+
-[Specifying And Handling Timeouts](#specifying-and-handling-timeouts)
20+
-[Examples](#examples)
21+
-[Ruby version support policy](#ruby-version-support-policy)
22+
-[License](#license)
23+
24+
##📢 We've Switched to Conventional Commits 📢
25+
26+
To enhance our development workflow, enable automated changelog generation, and pave
27+
the way for Continuous Delivery, the`ruby-git` project has adopted the[Conventional
28+
Commits standard](https://www.conventionalcommits.org/en/v1.0.0/) for all commit
29+
messages.
30+
31+
Going forward, all commits to this repository**MUST** adhere to the Conventional
32+
Commits standard. Commits not adhering to this standard will cause the CI build to
33+
fail. PRs will not be merged if they include non-conventional commits.
34+
35+
A git pre-commit hook may be installed to validate your conventional commit messages
36+
before pushing them to GitHub by running`bin/setup` in the project root.
37+
38+
Read more about this change in the[Commit Message Guidelines section of
39+
CONTRIBUTING.md](CONTRIBUTING.md#commit-message-guidelines)
2340

2441
##Summary
2542

@@ -34,31 +51,6 @@ Get started by obtaining a repository object by:
3451

3552
Methods that can be called on a repository object are documented in[Git::Base](https://rubydoc.info/gems/git/Git/Base)
3653

37-
##v2.x Release
38-
39-
git 2.0.0 has recently been released. Please give it a try.
40-
41-
**If you have problems with the 2.x release, open an issue and use the 1.x version
42-
instead.** We will do our best to fix your issues in a timely fashion.
43-
44-
**JRuby on Windows is not yet supported by the 2.x release line. Users running JRuby
45-
on Windows should continue to use the 1.x release line.**
46-
47-
The changes in this major release include:
48-
49-
* Added a dependency on the activesupport gem to use the deprecation functionality
50-
* Create a policy of supported Ruby versions to support only non-EOL Ruby versions
51-
* Create a policy of supported Git CLI versions (released 2020-12-25)
52-
* Update the required Ruby version to at least 3.0 (released 2020-07-27)
53-
* Update the required Git command line version to at least 2.28
54-
* Update how CLI commands are called to use the[process_executer](https://github.com/main-branch/process_executer)
55-
gem which is built on top of[Kernel.spawn](https://ruby-doc.org/3.3.0/Kernel.html#method-i-spawn).
56-
See[PR#684](https://github.com/ruby-git/ruby-git/pull/684) for more details
57-
on the motivation for this implementation.
58-
59-
The`master` branch will be used for`2.x` development. If needed, fixes for`1.x`
60-
version will be done on the`v1` branch.
61-
6254
##Install
6355

6456
Install the gem and add to the application's Gemfile by executing:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp