はじめに
就活用のポートフォリオをGitで管理する際、これまでは全ての作業を同じブランチで行なっていました。
しかし今後現場に入ってチームで開発する際には、issueごとにブランチを切ってそれぞれで作業するということもあると思います。
そうした状況に今から慣れておくために、ポートフォリオを作成する過程のGit管理に、git-flowを活用することにしました。
issueを作成する
まずはこれから追加したい機能などの内容を記述したissueを作成します。
対象リポジトリに移動する
ターミナル上で対象のリポジトリに移動します。
$ cd myapp #自分のアプリの名前
git-flowをインストールする
ターミナルで下記コマンドを打ち込み、git-flowをインストールします。
$ brew install git-flow
ブランチ「develop」を作成
「git checkout」は、gitのブランチを切り替えたい時に使います。
$ git checkout master
Already on 'master'
で、masterブランチに合わせた上で、
$ git branch develop
新しいブランチ「develop」を作成します。
git-flowを導入する
対象のリポジトリに git-flow を導入します!
$ git flow init
Which branch should be used for bringing forth production releases?
- develop
- master
- socialization
Branch name for production releases: [master]
Which branch should be used for integration of the "next release"?
- develop
- socialization
Branch name for "next release" development: [develop]
How to name your supporting branch prefixes?
Feature branches? [feature/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []
いろいろ項目を聞かれますが、デフォルトの設定で良いので、Enterを押していきます。
「feature」ブランチに切り替える
git-flow には5つのブランチの概念があり、先ほど作成した「develop」は開発用。
そして下記で作成する「feature」は、機能実装用のブランチです。
issue番号を指定することで、issueに紐づけることができます。
$ git flow feature start <issue番号>
具体的には下記のように書きます。
$ git flow feature start 14
Switched to a new branch 'feature/14'
Summary of actions:
- A new branch 'feature/14' was created, based on 'develop'
- You are now on branch 'feature/14'
Now, start committing on your feature. When done, use:
git flow feature finish 14
切り替わったかどうか、確認してみます。
$ git branch
develop
* feature/14
master
切り替わっています。
このままではまだローカル環境内で切り替わっているだけなので、「publish」コマンドでGitHubに反映します。
$ git flow feature publish 14
Summary of actions:
- A new remote branch 'feature/14' was created
- The local branch 'feature/14' was configured to track the remote branch
- You are now on branch 'feature/14'
コミットする際に「#issue番号」を入れる
コミットメッセージの中に、「#issue番号」を入れることで自動的にコミットが、該当するissueに紐づきます。
issueごとにコミット内容が確認できるため、コミットの差分が視覚的に分かりやすいです。
例です。
$ git add .
$ git commit -m "SpecialBookモデルを追加 #14"
GitHubの管理画面で、Pull Requestを送信する
該当のブランチからPull Requestを送信します。
内容を確認し、Pull Requestをマージする
変更内容を確認し問題がなければ、コミット内容をマージします。
以上です。
今後も現場の開発を意識した学習を進めていきます。