Skip to content

Commit be557f4

Browse files
committed
Git: Fix: darkmode対応
1 parent 2912b8d commit be557f4

File tree

2 files changed

+57
-16
lines changed

2 files changed

+57
-16
lines changed

.vitepress/theme/style.css

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
#fff 30%,
1414
#e5004f
1515
);
16-
img {
16+
/* 背景が透過である画像が、ダークモードで視認性が下がるための対応 */
17+
.img-bg-transparent img {
1718
filter: invert(1);
1819
}
1920
}

documents/forGitBranch/git_branch_standards.md

Lines changed: 55 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,12 @@ Gitリポジトリを新規作成するとデフォルトで作成されるブ
7070
- ひとつの変更に対してひとつのfeatureブランチを作成し、作業完了後に削除するため、開発中で最も使われる短命なブランチである
7171
- 基本的に1人の開発者のみが利用する
7272

73+
<div class="img-bg-transparent">
74+
7375
![feature branch](img/branch_strategy_feature.drawio.png)
7476

77+
</div>
78+
7579
以下の命名に従う。
7680

7781
- `feature/` のプレフィックスを付ける
@@ -92,8 +96,12 @@ fixtypo
9296

9397
開発の中心となるブランチである。
9498

99+
<div class="img-bg-transparent">
100+
95101
![develop branch](img/branch_strategy_develop.drawio.png)
96102

103+
</div>
104+
97105
## releaseブランチ
98106

99107
リリースするために使用するブランチで、主な特徴は以下である。
@@ -102,26 +110,38 @@ fixtypo
102110
- releaseブランチではバグ修正、ドキュメント生成、その他のリリースに伴うタスクのみを実施する
103111
- mainブランチのマージコミットにリリースタグを打ち、mainブランチをdevelopブランチへマージ後、releaseブランチを削除する
104112

113+
<div class="img-bg-transparent">
114+
105115
![release branch](img/branch_strategy_release.drawio.png)
106116

117+
</div>
118+
107119
## hotfixブランチ
108120

109121
本番リリースに対して迅速にパッチを当てて修正する場合に使用するブランチで、主な特徴は以下である。
110122

111123
- 修正が完了するとmainとdevelopの両方(あるいは進行中のreleaseブランチ)にマージされる
112124
- main/developブランチがあると必要になる可能性がある。main/featureブランチのみの運用では必須ではない(管理上の目的でfeatureとhotfixを分けることはあり得る)
113125

126+
<div class="img-bg-transparent">
127+
114128
![hotfix branch](img/branch_strategy_hotfix.drawio.png)
115129

130+
</div>
131+
116132
## topicブランチ
117133

118134
featureブランチで実現する機能を複数人で開発する場合に使用するブランチである。
119135

120136
- topicブランチが必要なケースでは、featureブランチへの直接プッシュを行ってはならない
121137
- GitHub Flowではfeatureブランチのことをtopicブランチと呼称する場合があるが、本規約ではfeatureブランチから派生するブランチをtopicブランチと定義する
122138

139+
<div class="img-bg-transparent">
140+
123141
![topic branch](img/branch_strategy_topic.drawio.png)
124142

143+
</div>
144+
125145
# ブランチ戦略の選定
126146

127147
ブランチ戦略は以下の方針で選定する。
@@ -163,8 +183,12 @@ featureブランチで実現する機能を複数人で開発する場合に使
163183

164184
## 1. developブランチを複数作成する場合
165185

186+
<div class="img-bg-transparent">
187+
166188
![multi develop branch](img/branch_strategy_multi_develop.drawio.png)
167189

190+
</div>
191+
168192
日々のエンハンス開発と並行して、数カ月後に大型リリースを行いたい場合がある。このときは複数リリースバージョンを並行して開発するため、 `develop``develop2` といった複数のdevelopブランチを作る必要がある。
169193

170194
概要:
@@ -178,8 +202,12 @@ featureブランチで実現する機能を複数人で開発する場合に使
178202
- 誤操作を避ける目的でcherry-pickは行わない
179203
- `devleop2` への同期は、 `develop` -> `main` ブランチに反映されるタイミングで同期を行う(これにより、品質保証済みの変更のみ取り入れることができる)
180204

205+
<div class="img-bg-transparent">
206+
181207
![release multi develop branch](img/branch_strategy_release_multi_develop.drawio.png)
182208

209+
</div>
210+
183211
### develop2のリリース手順
184212

185213
1. `develop`から`develop2`へマージコミットする(2でコンフリクトが起こらないよう、前準備の意味合いで実施する。)
@@ -193,8 +221,12 @@ featureブランチで実現する機能を複数人で開発する場合に使
193221

194222
## 2. 過去バージョンをサポートする場合
195223

224+
<div class="img-bg-transparent">
225+
196226
![multi version branch](img/branch_strategy_multi_version.drawio.png)
197227

228+
</div>
229+
198230
(社内外の)ライブラリでインターフェースの大型改善や仕様変更を受けて、メジャーバージョンを1→2に上げることがる。この時に過去バージョンもサポートする必要があると、バージョン別にsupportブランチを作成する。
199231

200232
概要:
@@ -228,10 +260,10 @@ developブランチの変更をfeatureブランチに取り込む方法には、
228260

229261
機能ブランチに対して開発ブランチの変更を取り込む方法は「マージ」「リベース」2つの方法が考えられる。
230262

231-
| 1. マージコミット | 2. リベース |
232-
| ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
233-
| ![マージ](img/merge_strategy_develop_to_feature_merge.drawio.png) | ![リベース](img/merge_strategy_develop_to_feature_rebase.drawio.png) |
234-
| `get fetch & git merge`(≒ `git pull`)。マージコミットが作成される | `get fetch & git rebase`(≒ `git pull --rebase`)。最新の開発ブランチの先頭から新たにコミットを作りなされ、マージコミットは作成されない |
263+
| 1. マージコミット | 2. リベース |
264+
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
265+
| <div class="img-bg-transparent"> ![マージ](img/merge_strategy_develop_to_feature_merge.drawio.png) </div> | <div class="img-bg-transparent"> ![リベース](img/merge_strategy_develop_to_feature_rebase.drawio.png) </div> |
266+
| `get fetch & git merge`(≒ `git pull`)。マージコミットが作成される | `get fetch & git rebase`(≒ `git pull --rebase`)。最新の開発ブランチの先頭から新たにコミットを作りなされ、マージコミットは作成されない |
235267

236268
本規約の推奨は「2. リベース」である。
237269

@@ -325,24 +357,24 @@ Terraformはplanが成功しても、applyが失敗することは多々あり
325357

326358
developブランチにfeatureブランチの変更を取り込む方法は下表のように3パターン存在する。
327359

328-
| | 1.マージコミット | 2.リベース | 3.スカッシュマージ |
329-
| ---- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
330-
| 名称 | Create a merge commit | Rebase and merge | Squash and merge |
331-
| 流れ | ![Merge Commit](img/merge_strategy_feature_to_develop_merge_commit.drawio.png) | ![Rebase and Merge](img/merge_strategy_feature_to_develop_rebase_and_merge.drawio.png) | ![Squash and Merge](img/merge_strategy_feature_to_develop_squash_and_merge.drawio.png) |
332-
| 説明 | `git merge --no-ff` で変更を取り込む | featureブランチを最新のdevelopブランチにリベースし、`git merge --ff` で変更を取り込む | `git merge --squash` で変更を取り込む |
333-
| 特徴 | developブランチにマージコミットが作成される | マージコミットは作成されず、履歴が一直線になる | featureブランチで行った変更YとZを1つにまとめたコミットがdevelopブランチに作成される |
360+
| | 1.マージコミット | 2.リベース | 3.スカッシュマージ |
361+
| ---- | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
362+
| 名称 | Create a merge commit | Rebase and merge | Squash and merge |
363+
| 流れ | <div class="img-bg-transparent"> ![Merge Commit](img/merge_strategy_feature_to_develop_merge_commit.drawio.png) </div> | <div class="img-bg-transparent"> ![Rebase and Merge](img/merge_strategy_feature_to_develop_rebase_and_merge.drawio.png) </div> | <div class="img-bg-transparent"> ![Squash and Merge](img/merge_strategy_feature_to_develop_squash_and_merge.drawio.png) </div> |
364+
| 説明 | `git merge --no-ff` で変更を取り込む | featureブランチを最新のdevelopブランチにリベースし、`git merge --ff` で変更を取り込む | `git merge --squash` で変更を取り込む |
365+
| 特徴 | developブランチにマージコミットが作成される | マージコミットは作成されず、履歴が一直線になる | featureブランチで行った変更YとZを1つにまとめたコミットがdevelopブランチに作成される |
334366

335367
::: tip GitLabを利用する場合
336368

337369
GitLabでも開発ブランチに機能ブランチの変更を取り込む方法は3種類ある。
338370

339371
ただし、マージリクエスト上のオプションによってコミット履歴が変わる点が注意である。
340372

341-
| | 1. Merge commit | 2. Merge commit with semi-linear history | 3. Fast-forward merge |
342-
| ---- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
343-
| 流れ | ![Merge commit with squash commits](img/merge_strategy_feature_to_develop_squash_and_merge_gitlab.drawio.png) | 省略 | 省略 |
344-
| 説明 | GitHubにおける `Create a merge commit` と同様のマージ方法 | `Merge commit` と同じコマンドを使用して、機能ブランチの変更を取り込む方法 | GitHubにおける `Rebase and merge` と同様のマージ方法 |
345-
| 注意 | `Squash commits` を選択してマージした場合、`squash commit``merge commit` の2つのコミットが作成される | ソースブランチがターゲットブランチより古い場合はリベースしないとマージできない。 | マージリクエスト上で `Squash commits` を選択してマージした場合、GitHubにおける `Squash and merge` と同様のマージ方法になる(※補足1) |
373+
| | 1. Merge commit | 2. Merge commit with semi-linear history | 3. Fast-forward merge |
374+
| ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
375+
| 流れ | <div class="img-bg-transparent">![Merge commit with squash commits](img/merge_strategy_feature_to_develop_squash_and_merge_gitlab.drawio.png) </div> | 省略 | 省略 |
376+
| 説明 | GitHubにおける `Create a merge commit` と同様のマージ方法 | `Merge commit` と同じコマンドを使用して、機能ブランチの変更を取り込む方法 | GitHubにおける `Rebase and merge` と同様のマージ方法 |
377+
| 注意 | `Squash commits` を選択してマージした場合、`squash commit``merge commit` の2つのコミットが作成される | ソースブランチがターゲットブランチより古い場合はリベースしないとマージできない。 | マージリクエスト上で `Squash commits` を選択してマージした場合、GitHubにおける `Squash and merge` と同様のマージ方法になる(※補足1) |
346378

347379
(※補足1)マージ方法で Merge commit を選択して、マージリクエスト上で Squash commits オプションを選択してマージした場合は以下と同義である
348380

@@ -418,8 +450,12 @@ git merge --no-ff $SOURCE_SHA
418450
- issue-312のリリースは業務上の合意が得られていない(エンドユーザ操作に影響があるため、事前告知した日時でリリースしたいなど)
419451
- issue-394は不具合修正であり業務上の優先度が高いため、なるべく早くリリースしたい
420452

453+
<div class="img-bg-transparent">
454+
421455
![同一ファイルを複数](img/release_overtaking.drawio.png)
422456

457+
</div>
458+
423459
よく陥りがちな対策としては次の2点が考えられる。
424460

425461
1. issue-312をリバートする
@@ -437,8 +473,12 @@ git merge --no-ff $SOURCE_SHA
437473

438474
2の例を以下に図示する
439475

476+
<div class="img-bg-transparent">
477+
440478
![hotfixで追い抜き](img/release_overtaking_hotfix.drawio.png)
441479

480+
</div>
481+
442482
# ブランチ命名規則
443483

444484
ブランチ名の命名規則は、[ブランチの種類](#ブランチの種類) 章に従うこと。

0 commit comments

Comments
 (0)