Skip to content

Commit 064b4dc

Browse files
committed
revert
1 parent 3bd1345 commit 064b4dc

File tree

1 file changed

+32
-32
lines changed

1 file changed

+32
-32
lines changed

documents/forGitBranch/git_branch_standards.md

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

73-
![feature branch](./img/branch_strategy_feature.drawio.png)
73+
![feature branch](img/branch_strategy_feature.drawio.png)
7474

7575
以下の命名に従う。
7676

@@ -92,7 +92,7 @@ fixtypo
9292

9393
開発の中心となるブランチである。
9494

95-
![develop branch](./img/branch_strategy_develop.drawio.png)
95+
![develop branch](img/branch_strategy_develop.drawio.png)
9696

9797
## releaseブランチ
9898

@@ -102,7 +102,7 @@ fixtypo
102102
- releaseブランチではバグ修正、ドキュメント生成、その他のリリースに伴うタスクのみを実施する
103103
- masterブランチのマージコミットにリリースタグを打ち、mainブランチをdevelopブランチへマージ後、releaseブランチを削除する
104104

105-
![release branch](./img/branch_strategy_release.drawio.png)
105+
![release branch](img/branch_strategy_release.drawio.png)
106106

107107
## hotfixブランチ
108108

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

114-
![hotfix branch](./img/branch_strategy_hotfix.drawio.png)
114+
![hotfix branch](img/branch_strategy_hotfix.drawio.png)
115115

116116
## topicブランチ
117117

@@ -120,7 +120,7 @@ featureブランチで実現する機能を複数人で開発する場合に使
120120
- topicブランチが必要なケースでは、featureブランチへの直接プッシュを行ってはならない
121121
- GitHub Flowではfeatureブランチのことをtopicブランチと呼称する場合があるが、本規約ではfeatureブランチから派生するブランチをtopicブランチと定義する
122122

123-
![topic branch](./img/branch_strategy_topic.drawio.png)
123+
![topic branch](img/branch_strategy_topic.drawio.png)
124124

125125
# ブランチ戦略の選定
126126

@@ -163,7 +163,7 @@ featureブランチで実現する機能を複数人で開発する場合に使
163163

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

166-
![multi develop branch](./img/branch_strategy_multi_develop.drawio.png)
166+
![multi develop branch](img/branch_strategy_multi_develop.drawio.png)
167167

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

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

181-
![release multi develop branch](./img/branch_strategy_release_multi_develop.drawio.png)
181+
![release multi develop branch](img/branch_strategy_release_multi_develop.drawio.png)
182182

183183
### develop2のリリース手順
184184

@@ -193,7 +193,7 @@ featureブランチで実現する機能を複数人で開発する場合に使
193193

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

196-
![multi version branch](./img/branch_strategy_multi_version.drawio.png)
196+
![multi version branch](img/branch_strategy_multi_version.drawio.png)
197197

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

@@ -230,7 +230,7 @@ developブランチの変更をfeatureブランチに取り込む方法には、
230230

231231
| 1. マージコミット | 2. リベース |
232232
| ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
233-
| ![マージ](./img/merge_strategy_develop_to_feature_merge.drawio.png) | ![リベース](./img/merge_strategy_develop_to_feature_rebase.drawio.png) |
233+
| ![マージ](img/merge_strategy_develop_to_feature_merge.drawio.png) | ![リベース](img/merge_strategy_develop_to_feature_rebase.drawio.png) |
234234
| `get fetch & git merge`(≒ `git pull`)。マージコミットが作成される | `get fetch & git rebase`(≒ `git pull --rebase`)。最新の開発ブランチの先頭から新たにコミットを作りなされ、マージコミットは作成されない |
235235

236236
本規約の推奨は「2. リベース」である。
@@ -325,24 +325,24 @@ Terraformはplanが成功しても、applyが失敗することは多々あり
325325

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

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ブランチに作成される |
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ブランチに作成される |
334334

335335
::: tip GitLabを利用する場合
336336

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

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

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) |
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) |
346346

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

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

421-
![同一ファイルを複数](./img/release_overtaking.drawio.png)
421+
![同一ファイルを複数](img/release_overtaking.drawio.png)
422422

423423
よく陥りがちな対策としては次の2点が考えられる。
424424

@@ -437,7 +437,7 @@ git merge --no-ff $SOURCE_SHA
437437

438438
2の例を以下に図示する
439439

440-
![hotfixで追い抜き](./img/release_overtaking_hotfix.drawio.png)
440+
![hotfixで追い抜き](img/release_overtaking_hotfix.drawio.png)
441441

442442
# ブランチ命名規則
443443

@@ -457,7 +457,7 @@ Gitにはタグ機能があり、リリースポイントとしてタグを作
457457
- 入力間違えなどのケースを除き、一度タグをつけた後は削除しない
458458
- 後述する「タグの命名規則」に従う
459459

460-
![GitHub画面でbackend/v1.6.0のタグを作成する](./img/create_new_tag.png)
460+
![GitHub画面でbackend/v1.6.0のタグを作成する](img/create_new_tag.png)
461461

462462
何かしらの理由で、コマンドラインからタグを作成する必要がある場合は、以下に注意する。画面経由・コマンドライン経由でのタグ作成は混ぜないようにし、運用手順は統一する。
463463

@@ -496,7 +496,7 @@ frontend/v1.1.0
496496
- フロントエンド・バックエンドで整合性を保っているのであれば、メモ目的でバージョンを記載する運用を推奨とする
497497
- 実用的な利用用途が思いつかない場合は、開発者視点での楽しみリリースの大きなマイルストーンの名称など、チームの関心事を記入することを推奨とする
498498

499-
![create new tag](./img/create_new_tag_title.png)
499+
![create new tag](img/create_new_tag_title.png)
500500

501501
何かしらの理由で、コマンドラインからタグを作成する必要がある場合は、GitHub利用時の規則に合わせて次のように作成する。
502502

@@ -869,15 +869,15 @@ GUIでのGit操作にあたり、次の2つの拡張機能をインストール
869869

870870
サイドバー > Explorer か Source Control > Clone Repository ボタンをクリックし、URLを入力すると、リポジトリをクローンできる。
871871

872-
![Clone1](./img/vscode_git_clone1.png) ![Clone2](./img/vscode_git_clone2.png)
872+
![Clone1](img/vscode_git_clone1.png) ![Clone2](img/vscode_git_clone2.png)
873873

874874
### コミットグラフの表示
875875

876876
SOURCE CONTROL パネル > 黒丸のグラフアイコン (View Git Graph (git log)) をクリックすると、コミットグラフを表示できる。
877877

878878
白丸のグラフアイコン (Show Commit Graph) はGitLensのコミットグラフだが、冒頭の記述通り、Pro版でのみの提供となる。
879879

880-
![Graph1](./img/vscode_git_graph1.png) ![Graph2](./img/vscode_git_graph2.png)
880+
![Graph1](img/vscode_git_graph1.png) ![Graph2](img/vscode_git_graph2.png)
881881

882882
### リモートのフェッチ/プル (`git fetch` / `git pull`)
883883

@@ -886,11 +886,11 @@ SOURCE CONTROL パネル > 黒丸のグラフアイコン (View Git Graph (git l
886886
- SOURCE CONTROL パネル > 三点リーダーアイコン (More Actions...) をクリックし、 Fetch を選択
887887
- コミットグラフ > 雲アイコン (Fetch from Remote(s)) をクリック
888888

889-
![Fetch1](./img/vscode_git_fetch1.png)
889+
![Fetch1](img/vscode_git_fetch1.png)
890890

891891
なお、フェッチ後に以下のようなダイアログが表示される場合があるが、 "Yes" を選択すると、自動で定期的にフェッチを行う。
892892

893-
![Fetch2](./img/vscode_git_fetch2.png)
893+
![Fetch2](img/vscode_git_fetch2.png)
894894

895895
### ブランチの作成/チェックアウト (`git branch` / `git checkout`)
896896

@@ -902,24 +902,24 @@ SOURCE CONTROL パネル > 黒丸のグラフアイコン (View Git Graph (git l
902902
- コミットグラフ > 作成元コミットの行上で右クリックし、Create Branch... を選択
903903
- "Check out" にチェックを入れると、作成したブランチにチェックアウトする
904904

905-
![Branch1](./img/vscode_git_branch1.png) ![Branch2](./img/vscode_git_branch2.png)
905+
![Branch1](img/vscode_git_branch1.png) ![Branch2](img/vscode_git_branch2.png)
906906

907907
### ステージ/コミット/プッシュ (`git add` / `git commit` / `git push`)
908908

909909
SOURCE CONTROL パネル > 変更ファイルの行 > +アイコン (Stage Changes) をクリックすると、対象ファイルをステージできる。(Changes > +アイコン (Stage All Changes) をクリックすると、すべての変更をステージする)
910910

911-
![Stage](./img/vscode_git_stage.png)
911+
![Stage](img/vscode_git_stage.png)
912912

913913
必要な変更をステージ後、 SOURCE CONTROL パネル内でコミットメッセージを入力し、 Commit ボタンをクリックすると、コミットを作成できる。
914914

915-
![Commit](./img/vscode_git_commit.png)
915+
![Commit](img/vscode_git_commit.png)
916916

917917
以下のいずれかの操作を実行すると、作成したコミットをリモートリポジトリにプッシュできる。
918918

919919
- SOURCE CONTROL パネル > 三点リーダーアイコン (More Actions...) をクリックし、Push を選択
920920
- BRANCHES パネル > 対象ブランチの行 > 雲アイコン (Publish Branch) をクリック
921921
- コミットグラフ > 対象ブランチの上で右クリックし、Push Branch... を選択
922922

923-
![push1](./img/vscode_git_push1.png) ![push2](./img/vscode_git_push2.png) ![push3](./img/vscode_git_push3.png)
923+
![push1](img/vscode_git_push1.png) ![push2](img/vscode_git_push2.png) ![push3](img/vscode_git_push3.png)
924924

925925
:::

0 commit comments

Comments
 (0)