1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Git, GitHubを使用してGit-Flowを構築する

Last updated at Posted at 2021-03-09

概要

 共同開発やポートフォリオとしてソースコードを公開することを念頭に置いたアプリケーションを開発する場合、GitHubで管理することが必要となる。その際に発生するGitHubとGitの初期設定についてまとめた。今回はGit-Flowに基づいた開発をすることを想定し、開発を始めるまでを構築していく。このやり方は一例であり、他にもやり方はあると思いますので参考までに。

Git-Flowについて

 Git-Flowについての記事はよく見かけるため、ここでは簡単に説明する。大まかにmainブランチ、releaseブランチ、developブランチ、featureブランチが存在する。

  • mainブランチ
    • 常にリリース可能である安定したブランチ
  • releaseブランチ
    • リリースが行わる際に発生するブランチ
    • リリースバージョンの付与などを行う
  • developブランチ
    • 開発の中心となるブランチ
    • featureブランチの組み込みブランチとしての役割を持つ
  • featureブランチ
    • developから機能開発を行う際に作成されるブランチ
    • 基本的には何か変更行う際にはまずfeatureブランチを作って変更を行い、終わったらdevelopにマージするというプロセスが一般的

 Git-Flowでは、用途に応じた様々なブランチが存在するが、今回は開発を始めるための最低限の必要なmainブランチ、developブランチ、featureブランチの作成について述べる。

1. GitHubでの設定

  • リモートリポジトリの新規作成
    • リポジトリ名、説明文を記載。
    • 公開するのか、公開しないのかを選択
    • README.md, .gitignore, licenseファイルは今の段階では作成しない
    • 記入出来たら"create repository"を押す

image.png

2. Gitでの設定

2.1 リモートリポジトリをクローンする

1.で作成したリポジトリをクローンする。

shell
$ git clone https://github.com/Yuki-TU/next.git
Cloning into 'next'...
warning: You appear to have cloned an empty repository.

2.2 README.mdファイルの追加・編集

 README.mdファイルを作成する。README.mdは、リポジトリの概要や説明をするためのファイルであり、マークダウン記法に則って記述することができる。

shell
$ touch README.md
$ nano README.md     # 好きなエディタで編集
README.md(例)
# 概要
これはnext.jsによるプロジェクトです

2.3 コミットする

 作成したファイルをコミットする。

shell
$ git add .
$ git commit -m "README.mdの追加"

2.4 GitHubにpushする

 mainブランチにリネームし、pushする。pushは、ローカルブランチのリポジトリをリモートリポジトリにアップロードするときに使用するコマンドである。ここでは、originがリモートリポジトリのURLを表している。

shell
$ git branch -M main       # ブランチ名をmainにリネーム
$ git push -u origin main  # -uはリモート追跡ブランチを作成するオプション

3. 再びGitHubでの設定

 GitHubの該当リポジトリを見ると、mainブランチが更新されていることがわかる。Git-Flowでは、mainブランチは品質が保証されたリリース用ブランチであり、普段開発を行うブランチはdevelopブランチの方を使用する。以下、developブランチを作成する手順を示す。

image.png

3.1 developブランチの作成

 create a branchより、mainブランチよりdevelopブランチを作成。

image.png

3.2 developブランチをデフォルトブランチに設定する

開発する際のメインブランチはdevelopブランチであるため、デフォルトブランチをdevelopブランチに設定する。GitHubの各種リポジトリのsetting->branch->default branchより変更する。

image.png

4. ローカルにdevelopブランチを落としてくる

 以下のコマンドを実施することで、developブランチをローカルブランチとして保存することができる。

shell
$ git fetch         # リモート追跡ブランチの更新
$ git branch -a     # リモート追跡ブランチとローカルブランチの表示
* main
  remotes/origin/develop
  remotes/origin/main
$ git switch -c develop remotes/origin/develop   # リモートリポジトリで作成したdevelopブランチをdevelopという名前でローカルに保存
$ git branch       # ローカルブランチの表示
* develop
  main

5. featureブランチの作成

 最後にfeatureブランチの作成について述べる。まず、developブランチに移動する。そして、pullコマンドを実行して、developブランチを最新の状態にする。次に、developブランチからfeatureブランチ(下記例ではブランチ名:feature/issue#1/create_base_app)を作成し、featureブランチに移動する。この状態で機能を実装するソースコードを記述する。

shell
$ git switch develop      # developブランチに移動
$ git pull                # fetch + merge(通常はdevelopブランチは最新の状態にする)
$ git switch -c feature/issue#1/create_base_app     # developブランチよりfeatureブランチを切って移動

最後に

 以上で、developブランチとmainブランチ、featureブランチを作成することができた。あとは、featureブランチ上でコードを作成し、プルリクエスト送り、developブランチにマージするという開発を行えばよい。
 間違っている個所等ございましたら、コメントいただけると幸いです。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?