Skip to content

goto-ryota56/GitHub-flow-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

GitHub Flow 運用テスト リポジトリー
Ver1.0


目次

  1. 概要
  2. Git Flow と GitHub Flow の違い
  3. GitHub Flow の 4つのルール
  4. GitHub Flow の 運用の流れ


概要

GitHub Flow は、Git Flow よりも GitHub Flowが優れているということではなく、単に開発スタイルの問題です。

頻繁にリリース(デプロイ)する GitHub の開発には「Git Flow」は適していませんでした。
逆に、「GitHub Flow」では頻繁にリリースすることを主軸においています。

こちらは小〜中規模の案件に向いています。



Git Flow と GitHub Flow の違い

GitHub Flow は、よく Git Flow と比較されます。
ここでは、Git Flow との違いをみていきましょう。
プロジェクトや開発スタイルによって、どちら向いているかは変わってきます。

ブランチの種類

Git Flow では 6 種類のブランチを使い分けるのに対して、GitHub Flow では 2 種類のブランチ(main、topic)しか使いません。このため、Git Flow のほうがより厳格ですが、手間が多くなりがちです。場合によっては、そこまで必要ないと思うこともあるでしょう。

リリースの扱い

Git Flow では、リリースのために新しいブランチを作ります。しかし、GitHub Flow では、main ブランチへのマージとリリース(デプロイ)はほぼ同義です。つまり、Git Flow ではリリースを特別なイベントと見なしていますが、GitHub Flow では日常の一部です。このため、main ブランチは常に安定している必要があります。



GitHub Flow の 4つのルール

GitHub Flow は、6 つのルールから成り立っています。この 6 つのルールを守ることで、開発の流れができてきます。

・main ブランチは常にリリース可能な状態にしておく

GitHub Flow では、main ブランチへマージした時、すぐにデプロイを行います。そのため、main ブランチが不安定になるようなマージを行ってはいけません。

・かならず main ブランチから topic ブランチを切る

機能の追加・変更、バグフィックスの際には、main ブランチから topic ブランチを切って作業を行います。直接 main ブランチ上で作業してしまうことのないようにしましょう。

・命名規則は以下のように則る

  • 機能追加:feature-機能を表す名称
    例) feature-user-notice

  • バグフィックス:fix-修正を表す名称
    例) fix-login-validation

  • 変更:mod-変更内容を表す名称
    例)mod-color-change

・プルリクエストを使ってコードレビューをする

GitHub Flow では、、頻繁にコードレビューを行うことになります。GitHub にはプルリクエストという機能があり、これを活用すると簡単にコードレビューが行えます。。

・コードレビューを通過したらすみやかにマージする

コードレビューを通過したら、できるだけ早くマージしましょう。あまり放置していると他の開発者とマージが衝突しやすくなってしまいます。



GitHub Flow の 運用の流れ

1. 作業開始

main ブランチにチェックアウト後、作業ブランチを作成する

git checkout -b 【ブランチ名(※ルール参照)】

〜 作業中 〜

2. タスク完了後コミットを行う

各タスクでブランチを切っているためタスクが完了したら一度コミットする

  1. 作業したファイルをステージングする。
git add *
  1. コミットを行う
git commit -m "コミットメッセージ"
  1. プッシュする
git push origin implement-app-base

※origin…リモートリポジトリのことを指す



3. プルリクエストを GitHub 上で行い、マージする。

  1. main ブランチ派生させたブランチは main ブランチにデータの上書きをしてよいかのリクエストを送らなければならない = プルリクエスト(プルリク)

  2. その後、プルリクを main ブランチに依頼し、main ブランチはなるべく早くマージさせる。

  3. マージ後、派生させたブランチは削除する。


4.ローカルブランチも削除する。

  1. main ブランチにチェックアウト
git checkout main
  1. 派生させたローカルブランチを削除
git branch -D implement-app-base

リモートブランチを削除したのにローカルリポジトリに残っている場合…

以下のコマンドで解決します。

git remote prune origin

※削除されるものを確認したい場合
git remote prune origin --dry-run

現在存在するリモートブランチを確認する

git remote show origin

※origin…リモートリポジトリのことを指す



5. ローカル main ブランチ(root)のデータを更新する(プル)

ローカルの master ブランチが古いままなので、リモート(GitHub)から pull して更新します。次のコマンドを入力すれば OK です。

git pull origin main

※origin…リモートリポジトリのことを指す

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published